如何将数据从Java服务器写入Flex打开的套接字
好的,基本上我的Flex应用程序会打开一个套接字并监听它。我的java程序将向这个端口写入一些字符串 我的AS3代码是如何将数据从Java服务器写入Flex打开的套接字,java,actionscript-3,sockets,flex3,Java,Actionscript 3,Sockets,Flex3,好的,基本上我的Flex应用程序会打开一个套接字并监听它。我的java程序将向这个端口写入一些字符串 我的AS3代码是 private function onRecvClick():void { var host:String = "localhost"; var port:int = 9090; var socket:Socket = new Socket(host, port);
private function onRecvClick():void
{
var host:String = "localhost";
var port:int = 9090;
var socket:Socket = new Socket(host, port);
socket.addEventListener(Event.CONNECT, onConnect);
socket.addEventListener(DataEvent.DATA, onData);
socket.connect(host, port);
}
我的Java代码是:
private ClientSocket()
{
try
{
String host = "localhost";
int port = 9090;
Socket socket = openSocket(host, port);
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
writer.write("HelloTest");
writer.flush();
}
catch (Exception e)
{
System.out.println(e);
}
}
private Socket openSocket(String server, int port) throws Exception
{
Socket socket;
// create a socket with a timeout
try
{
InetAddress inteAddress = InetAddress.getByName(server);
SocketAddress socketAddress = new InetSocketAddress(inteAddress, port);
// create a socket
socket = new Socket();
// this method will block no more than timeout ms.
int timeoutInMs = 10*1000; // 10 seconds
socket.connect(socketAddress, timeoutInMs);
return socket;
}
catch (SocketTimeoutException ste)
{
System.err.println("Timed out waiting for the socket.");
ste.printStackTrace();
throw ste;
}
}
在尝试写入套接字时,我收到了以下消息
java.net.ConnectException:连接被拒绝:connect
。有趣的是Flex中的socket
似乎没有发送任何事件,这种情况正常吗?除非我完全误读了文档,两者都是客户端套接字
您需要将一侧作为服务器套接字,以便能够将它们连接在一起
对于Java中的服务器端,请参阅本演练:.除非我完全误读了文档,否则和都是客户端套接字 您需要将一侧作为服务器套接字,以便能够将它们连接在一起
对于Java中的服务器端,请参阅本演练:。好的,我将把Java套接字转换为ServerSocket,因为sdk 3.0上的as3中没有ServerSocket。在这种情况下,我可以从as3使用
Socket.connect()
连接到Java套接字吗?是的,应该可以。在Java方面,我刚刚添加了一个简单教程/演练的链接。当我尝试执行outputStream.writetf(“Hello”)时,我得到了一个Java.net.SocketException:Software-caused-connection-abort:socket-write-error
来自ServerSocket。@silverback:您需要准备好接收AS3部件上的数据,我对此一无所知。使用更新的代码和堆栈跟踪打开一个新问题。好的,我将把我的Java套接字转换为ServerSocket,因为在sdk 3.0上的as3中没有ServerSocket。在这种情况下,我可以从as3使用Socket.connect()
连接到Java套接字吗?是的,应该可以。在Java方面,我刚刚添加了一个简单教程/演练的链接。当我尝试执行outputStream.writetf(“Hello”)时,我得到了一个Java.net.SocketException:Software-caused-connection-abort:socket-write-error
来自ServerSocket。@silverback:您需要准备好接收AS3部件上的数据,我对此一无所知。使用更新的代码和堆栈跟踪打开一个新问题。