회사에서 분산 환경에서 저장소의 배치 진행 상황을 보기위해 udp server를 사용하려고 한다.
간단하게 client로 부터 datagram을 받아서 echo 해주는 서버이다.
출처 : http://systembash.com/content/a-simple-java-udp-server-and-udp-client/
간단하게 client로 부터 datagram을 받아서 echo 해주는 서버이다.
출처 : http://systembash.com/content/a-simple-java-udp-server-and-udp-client/
UDPServer.java:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
import java.io.*;
import java.net.*; class UDPServer { public static void main(String args[]) throws Exception { DatagramSocket serverSocket = new DatagramSocket(9876); byte[] receiveData = new byte[1024]; byte[] sendData = new byte[1024]; while(true) { DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); serverSocket.receive(receivePacket); String sentence = new String( receivePacket.getData()); System.out.println("RECEIVED: " + sentence); InetAddress IPAddress = receivePacket.getAddress(); int port = receivePacket.getPort(); String capitalizedSentence = sentence.toUpperCase(); sendData = capitalizedSentence.getBytes(); DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, port); serverSocket.send(sendPacket); } } } |
UDPClient.java:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
import java.io.*;
import java.net.*; class UDPClient { public static void main(String args[]) throws Exception { BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in)); DatagramSocket clientSocket = new DatagramSocket(); InetAddress IPAddress = InetAddress.getByName("localhost"); byte[] sendData = new byte[1024]; byte[] receiveData = new byte[1024]; String sentence = inFromUser.readLine(); sendData = sentence.getBytes(); DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 9876); clientSocket.send(sendPacket); DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); clientSocket.receive(receivePacket); String modifiedSentence = new String(receivePacket.getData()); System.out.println("FROM SERVER:" + modifiedSentence); clientSocket.close(); } } |
'Programing > Java' 카테고리의 다른 글
Mysql Connection pooling (0) | 2011.06.24 |
---|---|
JNDI (0) | 2011.06.23 |
java jdbc tutorial (1) | 2011.06.21 |
eclipse에서 jdk 코드 안보일때 붙이기 (Attach Source) (0) | 2011.06.20 |
java Option (0) | 2011.03.28 |