서버 : 자바 -> 받는 것만 됨
클라 : 플렉스 -> 받는거 보내는거 다됨
기억이 가물 가물해서 자바는 소스가 좀 ;; 크라이언트 소켓 테스트 하는데는 문제 없으므로 테스트용으로 사용하세요. -_-;
클라 : 플렉스 -> 받는거 보내는거 다됨
기억이 가물 가물해서 자바는 소스가 좀 ;; 크라이언트 소켓 테스트 하는데는 문제 없으므로 테스트용으로 사용하세요. -_-;
import java.net.*; import java.io.*; //테스트용임 ..... public class TestServer extends Thread{ private BufferedReader recv_msg = null; private Socket soc = null; public TestServer(){ ServerSocket server = null; try { server = new ServerSocket (300); } catch (IOException e1) { e1.printStackTrace(); } System.out.println ("Server Running"); while (true) { try{ soc = server.accept(); System.out.println(soc.toString()); recv_msg = new BufferedReader(new InputStreamReader(soc.getInputStream())); recv_message rm = new recv_message(); rm.start(); }catch (Exception e) { e.printStackTrace(); } } } public class recv_message extends Thread{ public void run(){ while(true){ if(soc==null) return; try { String msg = recv_msg.readLine().trim(); System.out.println("size : ["+msg.length()+"]"+msg.trim()); if(msg.equals("exit")){ System.out.println("종료"); soc.close(); soc=null; } } catch (Exception e) { e.printStackTrace(); } try{ Thread.sleep(200); }catch(Exception e){ } } } } public static void main (String args[]) throws Exception{ new TestServer(); } } |
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Script> <![CDATA[ import mx.formatters.SwitchSymbolFormatter; import mx.controls.Alert; import flash.net.Socket; public var m_socket:Socket = new Socket(); public function connect():void{ if(m_socket.connected == false){ trace("연결 : 연결시도"); m_socket.connect("localhost", 300); m_socket.addEventListener(ProgressEvent.SOCKET_DATA,rcvHandler); m_socket.addEventListener(IOErrorEvent.IO_ERROR,ioHandler); }else{ trace("연결 : 이미 연결되어 있음."); } } public function close():void{ if(m_socket.connected == true){ trace("종료 : 연결을 종료 합니다."); m_socket.writeUTFBytes("exit\n"); m_socket.flush(); m_socket.close(); }else{ trace("종료 : 연결되어 있지 않음."); } } public function sendData():void { if(m_socket.connected == true) { var bytes:ByteArray = new ByteArray(); bytes.writeUTFBytes(txtData.text+"\n"); bytes.position = 0; m_socket.writeBytes(bytes,0,bytes.length); trace("메시지 : "+txtData.text); m_socket.flush(); // m_socket.writeUTFBytes( txtData.text); txtData.text = ""; } else { Alert.show("연결되지 않았음"); } } private function sndMsg(evt:KeyboardEvent):void{ switch(evt.keyCode){ case Keyboard.ENTER: sendData(); break; } } private function ioHandler(evt:IOErrorEvent):void{ trace("io error"); } private function rcvHandler(evt:ProgressEvent):void{ trace("socketDataHandler: " + evt); readResponse(); } private function readResponse():void{ var str:String = m_socket.readUTFBytes(m_socket.bytesAvailable); txtRead.text += str; } ]]> </mx:Script> <mx:VBox width="237" height="138"> <mx:HBox> <mx:Button label="connect" click="connect()"/> <mx:Button label="close" click="close()" /> </mx:HBox> <mx:HBox> <mx:TextInput id="txtData" keyDown="sndMsg(event)"/> <mx:Button label="send" click="sendData()"/> </mx:HBox> <mx:TextArea width="100%" height="100%" id="txtRead"/> </mx:VBox> </mx:Application> |
'etc > old' 카테고리의 다른 글
'블루투스3.0' 이달 21일 발표 (0) | 2009.04.15 |
---|---|
휴대폰 UI, '터치'에서 '3D'로 (0) | 2009.04.15 |
무한반복 재부팅 증상해결해 보기 : intelppm.sys AMD HP (0) | 2009.04.10 |
차세대 아이폰, 320만화소 카메라 탑재될 듯 (0) | 2009.04.04 |
MS, 윈도7 서버판 올해 발표 (0) | 2009.04.04 |