이 기사의 예제는 UDP 모드를 사용하여 특정 Java 코드를 공유하여 참조를위한 채팅 프로그램을 작성합니다. 특정 내용은 다음과 같습니다
자바 코드 :
/* UDP 모드를 사용하여 채팅 프로그램을 작성하여 데이터를 보내고 수신합니다. 하나의 스레드가 수신되고 스레드가 전송됩니다. 전송 및 수신 조치가 일치하지 않기 때문에 두 가지 실행 방법을 사용해야합니다. 이 두 가지 방법은 다른 클래스로 캡슐화되어야합니다. 이 프로그램은 일부 예외 처리를 무시하고 UI 구성 요소를 추가하지 않습니다. 이것은 간단한 전송 포트 9998 포트 9999를 수락합니다. 로컬 지역 네트워크 방송 주소를 사용하므로 나 자신을 보낸 메시지를 받았습니다. [예] : 간단한 콘솔 채팅 프로그램*/ import java.net.*; java.io.*; 클래스 데모 {public static void main (String [] args)은 예외 {datagramsocket sendsocket = new datagramsocket (9998); // DataGramsocket을 receocket = new Datagramsocket (9999) 보내기; // 새 스레드를 수신합니다 (new Msgsend (sendsocket)). start (); // 스레드를 보내기 새 스레드 (new msgrece (recesocket)). start (); // recept}} class msgsend emplements runnable // send {private datagramsocket dsock; public msgsend (datagramsocket dsock) {this.dsock = dsock; } public void run () {bufferedReader bufr = new bufferedReader (new inputStreamReader (System.In)); 문자열 linestr = null; try {while (true) {linest = bufr.readline (); if (linest! = null) {if (linest.equals ( "over886")) {break; } else {byte [] databuf = linest.getBytes (); Datagrampacket Datapack = // 데이터 포장 새 Datagrampacket (databuf, databuf.length, inetaddress.getByName ( "192.168.1.255"), // broadcast 9999 // target port); dsock.send (datapack); }}}} bufr.close (); dsock.close (); } catch (예외 e) {새로운 runtimeexception 던지기 ( "실패!"); }}} class msgrece emplements runnable // 수신 {private datagramsocket dsock; public msgrece (datagramsocket dsock) {this.dsock = dsock; } public void run () {try {while (true) {byte [] databuf = new Byte [1024]; Datagrampacket Datapack = 새로운 Datagrampacket (databuf, databuf.length); dsock.receive (datapack); // 검색된 데이터를 지정된 데이터 패킷에 저장하십시오. String ip = datapack.getAddress (). gethostaddress (); 문자열 data = new String (datapack.getData (), 0, datapack.getLength ()); int port = datapack.getport (); System.out.println (); System.out.println ( "IP에서"+IP+"<반대 포트> :"+port+"message"); System.out.println (데이터); }} catch (예외 e) {새로운 runtimeexception 던지기 ( "허용 실패!"); } 마침내 {dsock.close (); }}}위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.