Developer MJ Story

[Android/UDP] UDP socket을 이용한 message send/receive 본문

Software/Android

[Android/UDP] UDP socket을 이용한 message send/receive

집근처 2014. 6. 9. 18:25
반응형
  • Android는 Java를 기반으로 만들어 졌기 때문에 java에서 사용할 수 있는 함수들을 android에서 그대로 사용 가능
  • Network또한 java socket 사용 가능
  • UDP socket을 이용해 간단한 message를 주고 받는 프로그램

    •  UDP sender side

publicstaticvoid UDPSend(){

new Thread(new Runnable(){

        publicvoid run() {

               try{

                       InetAddress targetAddr = InetAddress.getByName("192.168.43.1");

                       DatagramSocket socket = new DatagramSocket();

                       int port = 9000;                      

                       byte[] buf = ("send Message ").getBytes();                      

                       DatagramPacket packet = new DatagramPacket(buf, buf.length, targetAddr, port);

                       Log.d("test""S: send packet" + buf.length);

                       socket.send(packet);

                       socket.close();

               }catch (Exception e){

                       Log.d("test""S: Error");

               }

        }      

}).start();

}

 

    •  UDP receiver side

        publicstaticvoid UDPReceive(){

        new Thread(new Runnable(){

               publicvoid run() {

                       try{

                              int port = 9000;

                              DatagramSocket socket = new DatagramSocket(port);

                              while(true){

                                      byte[] buf = newbyte[1024]; 

                                      DatagramPacket packet = new DatagramPacket(buf, buf.length);

                                      socket.receive(packet);

                                      String msg = new String(packet.getData(), 0, packet.getLength());

                                      Log.d("test""R: receive packet: " + msg);

                              }             

                       }catch (Exception e){

                              Log.d("test""R: Error");

                       }

               }

        }).start();

        }     


 

  •  위와 같이 하면 buf 에 저장되어 있는 "send Meesage"가 sender side에서 receiver side로 전송 되는것을 확인 가능


반응형