2014-09-16 5 views
0

에 전송됩니다. 내 서버에서 빠른 처리를 위해 Java 언어를 사용하여 각 수신 UDP 패킷을 하나의 스레드에서 처리하려고합니다.UDP 소켓 (Java) : 처리중인 데이터가

어떤 아이디어 나 FrameWork + 예가 있습니까?

감사합니다. http://docs.oracle.com/javase/7/docs/api/java/net/DatagramSocket.html

당신은 어떻게 든 당신이받을 해야하는 데이터의 양을 발견 할 것이다 :

+0

도움주세요! – user2272119

+0

나는 하나의 스레드에서 UDP를 처리 할 수 ​​있다고 생각합니다. 연결이 필요 없기 때문입니다. – SamDJava

+0

패킷 당 스레드가 실제로 필요한지 또는 스레드 풀로 전달되는지 또는 스레드 생성 오버 헤드보다 빠르게 패킷을 처리 할 수 ​​있는지 여부에 대해 신중하게 생각하십시오. 두 접근법에 대한 DeveloperWorks 기사가 있습니다. http://www.ibm.com/developerworks/library/j-jtp0730/. – david

답변

1

당신은 [DatagramSocket로]에 대한 API를 살펴 수 있습니다. 이것은 발신자가 처음에 교환 할 수 있습니다. 서버를 구성하는 경우에만 책임이 경우

DatagramSocket(int port); // Port is the port number to which ur server will be listening. 
byte[] buffer = new byte[1024]; // A byte array of 1024 bytes is allocated 
DatagramPacket packetData = new DatagramPacket(buffer, buffer.length);  
datagramSocket.receive(packetData); // This is a blocking call and will wait for you to recieve data. 

는 Incase의 당신은 데이터를 받게되며 다음 중지 루프 내에서 위를 실행하고 데이터 스트림의 마지막에 대한보고 싶어요.