Как записать данные в Socket, открытый Flex с Java Server - PullRequest
1 голос
/ 19 мая 2011

Хорошо, в основном мое приложение 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.Забавно, что socket во Flex, похоже, не отправляет никаких событий, это нормально для этого?

1 Ответ

4 голосов
/ 19 мая 2011

Если я не полностью прочитал документы, оба flash.net.Socket и java.net.Socket являются клиентскими сокетами.

Вам нужна одна сторона, чтобы быть серверным сокетом, чтобы иметь возможность соединять их вместе.

Что касается серверной части Java, посмотрите это пошаговое руководство: Socket Communications .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...