ДВС! есть сокет сервер, написанный на джаве, клиент написан на ActionScript. Вначале клиент отправляет серверу число (это работает), сервер обратно возвращает клиенту строку, которую он как бы отсылает, но клиент не может ее получить. Подскажите, пожалуйста, что не так) очень благодарна заранее.
Вот мой сервер, который на джаве
Код | public class Server { public static void main(String[] args) { int port = 6666; try {
ServerSocket ss = new ServerSocket(port); System.out.println("Waiting...");
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
ProgramLogic programLogic = context.getBean("programLogic", ProgramLogic.class); // запускаю основную логику программы ForConnectServer forConnectServer=context.getBean("forConnectServer",ForConnectServer.class); Socket socket = ss.accept(); InputStream sin = socket.getInputStream(); OutputStream sout = socket.getOutputStream();
DataInputStream in = new DataInputStream(sin); DataOutputStream out = new DataOutputStream(sout);
forConnectServer.scheduleWork();//логика основной программы
String line = null; while(true) {
int id = in.readInt();
System.out.println("from client id = "+ id); String str = "hello, "+id;
out.writeUTF(str);
out.flush(); System.out.println("Waiting for the next line..."); System.out.println(); } } catch(Exception x) { x.printStackTrace(); } } }
|
а это клиент на ActionScript
Код |
public class Client extends Sprite { private var socket:Socket; public function Main():void {
const serverPort:int = 6666; / const address:String = "127.0.0.1"; trace("Any of you heard of a socket with IP address " + address + " and port " + serverPort + "..." + "\n"); socket = new Socket(address, serverPort);
trace("Sending this line to the server..."); socket.writeInt(502); socket.flush(); var data:String = ""; var ch:int = socket.bytesAvailable;
while (ch == 0){ ch = socket.bytesAvailable; trace ('ch = '+ch); } if (ch>0){ data += socket.readUTF(); trace ('data = '+data); } trace("data " + data);
if (data!=""){ socket.close(); trace ("Socket closed!"); } trace ("Socket not closed!"); } } }
|
|