Android_Programma
[ Android ] UDP Client 소스
k1rha
2012. 8. 3. 22:41
package
tae.NetworkClient;
import
java.net.DatagramPacket;
import
java.net.DatagramSocket;
import
java.net.InetAddress;
import
android.util.Log;
public
class
NetworkUDP {
private
static
final
String serverIP =
"10.0.2.2"
;
//serverIP를 추가합니다.
private
static
final
int
port =
8000
;
//서버에서 설정한 UDP 포트번호를 추가합니다.
private
String msg;
private
String return_msg;
public
NetworkUDP(String _msg) {
this
.msg = _msg;
}
public
String run() {
try
{
DatagramSocket socket =
new
DatagramSocket();
InetAddress serverAddr = InetAddress.getByName(serverIP);
//TCP와 다르게 UDP는 byte단위로 데이터를 전송합니다. 그래서 byte를 생성해줍니다.
byte
[] buf =
new
byte
[
128
];
//받아온 msg를 바이트 단위로 변경합니다.
buf = msg.getBytes();
//DatagramPacket를 이용하여 서버에 접속합니다.
DatagramPacket Packet =
new
DatagramPacket(buf, buf.length, serverAddr, port);
Log.d(
"UDP"
,
"sendpacket.... "
+
new
String(buf));
socket.send(Packet);
Log.d(
"UDP"
,
"send...."
);
Log.d(
"UDP"
,
"Done."
);
socket.receive(Packet);
Log.d(
"UDP"
,
"Receive"
+
new
String(Packet.getData()));
//데이터를 받아와 return_msg에 복사합니다.
return_msg =
new
String(Packet.getData());
}
catch
(Exception ex) {
Log.d(
"UDP"
,
"C: Error"
, ex);
}
return
return_msg;
}
}