Проблема с сокетами
Есть клиентская часть на flash:
Код AS3:
var socket:XMLSocket = new XMLSocket();
socket.addEventListener(Event.CONNECT, onConnect);
socket.addEventListener(DataEvent.DATA, onData);
socket.connect("127.0.0.1", 8080);
function onConnect(event:Event){
trace("Connected...");
var str:String = "Text\r\n";
socket.send(str);
}
function onData(event:DataEvent){
trace(event.data);
}
Серверная часть на java
Код:
import java.io.*;
import java.net.*;
public class flashServer{
public static void main(String[] args){
try{
int port = Integer.parseInt(args[0]);
ServerSocket ss = new ServerSocket(port);
for(;;){
Socket client = ss.accept();
ClientThread t = new ClientThread(client);
t.start();
}
}
catch(Exception e){
System.err.println(e.getMessage());
System.err.println("Вызов: java flashServer <port>;");
}
}
static class ClientThread extends Thread{
Socket client;
ClientThread(Socket client){ this.client = client;}
public void run(){
try{
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
PrintWriter out = new PrintWriter(new OutputStreamWriter(client.getOutputStream()), true);
String str = in.readLine();
System.out.println(str);
String answer = "<res>123</res>";
out.println(answer);
out.flush();
out.close();
in.close();
client.close();
}
catch (IOException e){
}
}
}
}
Клиент посылает серверу "Text", но сервер ничего не отвечает. Подскажите пожалуйста, в чем ошибка? Во flash так принимать ответы от сервера?
|