Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将数据从Java服务器写入Flex打开的套接字_Java_Actionscript 3_Sockets_Flex3 - Fatal编程技术网

如何将数据从Java服务器写入Flex打开的套接字

如何将数据从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);

好的,基本上我的Flex应用程序会打开一个套接字并监听它。我的java程序将向这个端口写入一些字符串

我的AS3代码是

        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部件上的数据,我对此一无所知。使用更新的代码和堆栈跟踪打开一个新问题。