Примеры в этой статье делятся с вами конкретным кодом Java с использованием режима UDP для написания программ чата для вашей ссылки. Конкретный контент заключается в следующем
Код Java:
/* Используйте режим UDP, чтобы написать программу чата для отправки и получения данных. Один поток получает, и один поток отправляет. Поскольку отправка и получение действий противоречивы, необходимо использовать два метода пробега. Эти два метода должны быть инкапсулированы в разные классы. Эта программа игнорирует некоторую обработку исключений и не добавляет компонентов пользовательского интерфейса. Это простой отправку порта 9998, принимающий порт 9999. Он использует адрес трансляции локальной сети, поэтому я также получил сообщение, которое я отправил себе [пример]: Простая программа консольного чата*/ import java.net.*; импортировать java.io.*; класс демонстрация {public static void main (string [] args) выбрасывает исключение {datagramsocket sendsocket = new DatagramSocket (9998); // Отправить DatagramSocket eSectionocket = new DatagramSocket (9999); // получение нового потока (новый msgsend (sendsocket)). Start (); // Отправить поток новый поток (новый msgrece (recesocket)). Start (); // Получение потока}} класс msgsend реализует runnable // send {private datagramsocket dsock; public msgsend (datagramsocket dsock) {this.dock = dsock; } public void run () {BufferedReader BUFR = new BufferedReader (New InputStreamReader (System.in)); String linest = null; try {while (true) {linestr = bufr.readline (); if (linestr! = null) {if (linest.equals ("over886")) {break; } else {byte [] databuf = linestr.getbytes (); DataGrampacket DataPack = // Упаковка данных new DataGrampacket (DataBuf, dataBuf.length, inetAddress.getByName ("192.168.1.255"), // трансляция 9999 // целевой порт); dsock.send (dataPack); }}}} bufr.close (); dsock.close (); } catch (Exception e) {бросить новое runtimeexception ("Отправить не удалось!"); }}} класс msgrece реализует runnable // receation {private datagramsocket dsock; public msgrece (datagramsocket dsock) {this.dock = dsock; } public void run () {try {while (true) {byte [] databuf = new Byte [1024]; DataGrampacket dataPack = new DataGrampacket (dataBuf, dataBuf.length); dsock.receive (dataPack); // Сохранить полученные данные в указанном пакете данных string ip = datapack.getAddress (). Gethostaddress (); String data = new String (datapack.getData (), 0, datapack.getLength ()); int port = datapack.getport (); System.out.println (); System.out.println ("from ip"+ip+"<противоположный порт>:"+port+"message"); System.out.println (data); }} catch (Exception e) {бросить новое runtimeexception ("Принять не удалось!"); } наконец {dsock.close (); }}}Выше всего содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.