java, DatagramSocket bind() connect() difference |
DatagramSocket 의 bind() 와 connect() 의 차이
DatagramSocket ( UDP ) 에는 bind() 와 connect() 라는 두개의 함수가 있는데 두개 함수의 구분이 확실하지 않아 알아보았다.
bind() 는 socket 에 port 를 연결하는 것. bind 를 한 process 에서 release 를 하기 전까지 이 port 는 다른 process 에서 쓸 수 없다.
connect() 는 socket 에게 connect 를 하도록 하는 것이다. TCP/IP 가 아닌 UDP( datagram ) 의 경우는 사실 connect 가 꼭 필요한 것은 아니다.
DatagramSocket 을 이용하여 데이터 보내기
DatagramSocket 을 이용해서 데이터를 보낼 때는 DatagramPacket 을 만들어야 한다.
byte[] buffer = "gamza".getBytes();
InetAddress address = InetAddress.getByName( "www.google.com" );
DatagramPacket packet = new DatagramPacket( buffer, buffer.length, address, 1010 );
// 1010 is port number
DatagramSocket datagramSocket = new DatagramSocket();
datagramSocket.send( packet );
DatagramSocket 을 이용하여 데이터 받기.
DatagramSocket 을 이용하여 데이터를 받을 때는
DatagramSocket dataramSocket = new DatagramSocket( 1010 );
byte[] buffer = new byte[ 1024 ];
DatagramPacket packet = new DatagramPacket( buffer, buffer.length );
datagramSocket.receive( packet );
buffer = packet.getData();
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[android] ListView HeaderView ListItem 으로서 click 안 되도록 하기. (0) | 2013.12.11 |
---|---|
[android] volley library 에 대해 알아보자! (0) | 2013.12.10 |
[android] thread 들의 정체에 대해 알아보자. (0) | 2013.12.06 |
[android] moveTaskToBack( true ) ? (0) | 2013.12.05 |
[android] xxhdpi 는 뭐 하는 녀석이야?? (0) | 2013.12.04 |
댓글