Java 에코: Socket 통신

1536 단어
서버측
1. 서버측 DatagramSocket 생성, 포트 지정
DatagramSocket socket = new DatagramSocket(9900);

2. 데이터 보고서를 작성하여 클라이언트가 보낸 데이터를 수신하는 데 사용
byte[] data = new  byte[1024];
DatagramPacket packet = new DatagramPacket(data,data.length);

3. 클라이언트의 메시지 대기
socket.receive(packet); //               

4. 클라이언트에 데이터 피드백
//1.        ,   ,  
InetAddress address = packet.getAddress();
int port = packet.getPort();
byte[] data1 = "          ,   !!!".getBytes();
//2.     ,       
DatagramPacket packet1 = new DatagramPacket(data1,data1.length,address,port);
//3.     
socket.send(packet1);
//4.    
socket.close();

클라이언트:
1. 서버에 데이터 전송
/** 
*          
 */
//1.        .   ,  
InetAddress address = InetAddress.getByName("");  //       
int port = 9900;  //       
//       
byte[] data = "   : admin;   : 123".getBytes();
//2.     ,         
DatagramPacket packet = new DatagramPacket(data,data.length,address,port);
//3.  DatagramSocket   
DatagramSocket socket = new DatagramSocket();
//4.         
socket.send(packet);

2. 서버 응답의 데이터 수신
/** 
*           
 */
//1.    ,             
byte[] data2 = new byte[1024];
DatagramPacket packet1 = new DatagramPacket(data2,data2.length);
//        
socket.receive(packet1);
//    
String reply = new String(data2,0,packet1.getLength());System.out.println("     ,    : " + reply);
//4.    
socket.close();

좋은 웹페이지 즐겨찾기