java - Java Server如何向Flex打开的Socket写入数据

标签 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);
            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: Connection refused: connect。有趣的是,Flex 中的 socket 似乎没有派发任何事件,这正常吗?

最佳答案

除非我完全误读了文档,flash.net.Socketjava.net.Socket是客户端套接字。

您需要将一侧作为服务器套接字才能将它们连接在一起。

对于 Java 中的服务器端,请查看此演练:Socket Communications .

关于java - Java Server如何向Flex打开的Socket写入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6057838/

相关文章:

apache-flex - 尝试在 Flex4/AS3 中将矩形绘制到自定义容器

java - 为什么这个主机名看起来这么奇怪?

java - javafx中的preferred是什么意思

java - 如何在Java中操作EPS文件?

java - GitHub 在不同的分支上工作,但在同一个类上。我们如何 merge 这个?

apache-flex - Flex (Actionscript) 中的条件编译和导入语句

apache-flex - Flex Date() 构造函数错误地转换了 Unix 时间戳 argh

java - 通过 java 套接字发送文件详细信息失败

java - 将域分配给 IP 地址

java - 是否可以在服务器端的一个套接字中接收来自多个客户端的数据报包?