国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

java 多線程實現在線咨詢(udp)

瀏覽:10日期:2022-08-20 17:58:51

在線咨詢:兩個人都可以是發送方,也可以是接收方,實現網上在線咨詢正常通信。

聊天發送線程

package chat;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetSocketAddress;import java.net.SocketException;/** * 聊天發送線程: * 重寫 run 方法通過 implements 關鍵字實現 Runnable 接口 * 重寫方法快捷鍵:Ctrl + O */public class TalkSend implements Runnable { DatagramSocket socket = null; BufferedReader reader = null; private int fromPort; //從哪個端口 private String toIP; //到哪個地址 private int toPort; //到哪個端口 //構造:Alt + Insert public TalkSend(int fromPort, String toIP, int toPort) { this.fromPort = fromPort; this.toIP = toIP; this.toPort = toPort; //快捷鍵:Ctrl + Alt + T try { //構造一個數據報套接字并將其綁定到本地主機上的指定端口 socket = new DatagramSocket(fromPort); //準備數據:控制臺讀取:System.in reader = new BufferedReader(new InputStreamReader(System.in)); } catch (SocketException e) { e.printStackTrace(); } } @Override public void run() { while (true){ try { String data = reader.readLine(); byte[] dataBytes = data.getBytes(); DatagramPacket packet = new DatagramPacket(dataBytes, 0 , dataBytes.length, new InetSocketAddress(this.toIP, this.toPort)); //發送數據包 socket.send(packet); //當發送一句 bye 的時候表示結束發送 if (data.equals('bye')){ break; } } catch (IOException e) { e.printStackTrace(); } } //關閉 socket.close(); }}

聊天接收線程

package chat;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.SocketException;/** * 聊天接收線程: * 重寫 run 方法通過 implements 關鍵字實現 Runnable 接口 * 重寫方法快捷鍵:Ctrl + O */public class TalkReceive implements Runnable { DatagramSocket socket = null; private int port; private String msgFrom; //構造 public TalkReceive(int port, String msgFrom) { this.port = port; this.msgFrom = msgFrom; try { socket = new DatagramSocket(port); } catch (SocketException e) { e.printStackTrace(); } } @Override public void run() { while (true){ try { //準備接收數據包 byte[] container = new byte[1024]; DatagramPacket packet = new DatagramPacket(container, 0, container.length); //接收數據包 socket.receive(packet); //阻塞式接收包裹 //讀取數據 byte[] data = packet.getData(); String receiveData = new String(data, 0, data.length); //接收到的數據 System.out.println(msgFrom + ':' + receiveData); //當我們說一聲 bye 的時候就表示斷開連接 if (receiveData.equals('bye')){ break; } } catch (IOException e) { e.printStackTrace(); } } //關閉 socket.close(); }}

學生端

package chat;/** * 學生端 */public class TalkStudent { public static void main(String[] args) { /** * 學生端 * 從 7777 端口發送消息 * 發送消息到 9999 端口 * 從 8888 端口接收消息 * * 開啟兩個線程: * new TalkSend:從 77777 端口發送,發送到 localhost,發送給 9999 端口 * @param fromPort * @param toIP * @param toPort * * new TalkReceive:從 8888 端口接收,接收來自 “老師” 的消息 * @param port * @param msgFrom * * 使用了一種模式:靜態代理模式 */ new Thread(new TalkSend(7777, 'localhost', 9999)).start(); new Thread(new TalkReceive(8888, '老師')).start(); }}

老師端

package chat;/** * 老師端 */public class TalkTeacher { public static void main(String[] args) { /** * 老師端 * 從 5555 端口發送消息 * 發送消息到 8888 端口 * 從 9999 端口接收消息 * * 開啟兩個線程: * new TalkSend:從 5555 端口發送,發送到 localhost,發送給 8888 端口 * @param fromPort * @param toIP * @param toPort * * new TalkReceive:從 9999 端口接收,接收來自 “學生” 的消息 * @param port * @param msgFrom * * 使用了一種模式:靜態代理模式 */ new Thread(new TalkSend(5555, 'localhost', 8888)).start(); new Thread(new TalkReceive(9999, '學生')).start(); }}

效果一覽

java 多線程實現在線咨詢(udp)

java 多線程實現在線咨詢(udp)

以上就是java實現的多線程實現在線咨詢(udp)的詳細內容,更多關于java 在線咨詢的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
主站蜘蛛池模板: 97国产成人精品视频 | 欧美在线观看不卡 | 久久国内免费视频 | 精品国产成人高清在线 | 日韩国产在线 | 日韩在线播放中文字幕 | 日本特黄特色免费大片 | 欧美激情亚洲 | 日本一级毛片视频无遮挡免费 | 久久在线免费观看 | 欧美一级片在线免费观看 | 怡红院日本一道日本久久 | 在线视频一区二区三区在线播放 | 一级不卡毛片免费 | 成人福利网站在线看视频 | 加勒比色 | 欧美a在线视频 | 久久精品免费在线观看 | 久久伊人网站 | 免费国产成人α片 | 欧美一级久久 | 国产精品成人观看视频免费 | 国产v综合v亚洲欧美大另类 | 超级碰碰碰在线观看 | 最近中文字幕精彩视频 | 成人在线观看国产 | 久草国产在线播放 | 中文字幕区 | 欧美黄视频在线观看 | 亚洲小视频网站 | 免费看岛国视频在线观看 | 日韩国产欧美视频 | 亚洲久草视频 | 激情综| 亚洲日本高清成人aⅴ片 | 国产精品19禁在线观看2021 | 亚洲无吗视频 | 美日韩一区二区三区 | aa级毛片毛片免费观看久 | 国产精品国内免费一区二区三区 | 美女视频永久黄网站免费观看韩国 |