当前位置: 首页 > news >正文

UDP多线程在线咨询

发送端:

public class TalkSend implements  Runnable{DatagramSocket socket = null;BufferedReader br = null;private int fromPort;private String toIP;private int toPort;public  TalkSend(int fromPort,String toIP,int toPort){this.fromPort = fromPort;this.toIP = toIP;this.toPort = toPort;try {socket = new DatagramSocket();br = new BufferedReader(new InputStreamReader(System.in));} catch (SocketException e) {throw new RuntimeException(e);}}@Overridepublic void run() {while (true){String s = null;try {s = br.readLine();byte[] datas = s.getBytes();DatagramPacket packet = new DatagramPacket(datas, 0, datas.length, new InetSocketAddress(this.toIP, this.toPort));socket.send(packet);if (s.equals("bye")){break;}} catch (IOException e) {throw new RuntimeException(e);}}socket.close();}
}

接受端:

public class TalkReceive implements Runnable{DatagramSocket socket = null;private int port;private String mygFrom;public TalkReceive(int port,String mygFrom){this.port = port;this.mygFrom = mygFrom;try {socket = new DatagramSocket(port);} catch (SocketException e) {throw new RuntimeException(e);}}@Overridepublic 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, packet.getLength());System.out.println(mygFrom+":"+receiveData);if (receiveData.equals("bye")){break;}} catch (IOException e) {throw new RuntimeException(e);}}socket.close();}}

类:

public class TalkStudent {public static void main(String[] args) {//开启两个线程new Thread(new TalkSend(7777,"localhost",9999)).start();new Thread((new TalkReceive(8888,"老师"))).start();}
}
public class TalkTeacher {public static void main(String[] args) {new Thread(new TalkSend(5555,"localhost",8888)).start();new Thread(new TalkReceive(9999,"学生")).start();}
}

http://www.dtcms.com/a/528225.html

相关文章:

  • 微信小程序原生如何使用画布生成名片
  • Postman介绍和安装,发送带参数的GET请求
  • 海西州wap网站建设公司网站布局怎么用dw做
  • Python入门经典题目
  • 佛山网站建设乐云seo在线制作wordpress媒体库略缩图
  • 网站的服务器怎么做的网站模板软件
  • Go Web 编程快速入门 07.4 - 模板(4):组合模板与逻辑控制
  • 【Canvas与旗帜】标准加拿大枫叶旗
  • LwIP协议栈MPA多进程架构
  • 【JUnit实战3_12】第七章:用 Stub 模拟进行粗粒度测试
  • 东莞网络推广网站做静态网站软件
  • 想建网站做优化网站建设服务费 印花税
  • verilog阻塞赋值和非阻塞赋值的区别
  • 【Redis典型应用——缓存详解】
  • 阮一峰《TypeScript 教程》学习笔记——模块
  • 第 09 天:文件传输 (SCP, SFTP, rsync, FTP, NFS)
  • pandas 和 numpy相关函数详解
  • 酵母 cDNA 文库:解码基因表达与功能研究的核心工具
  • Win10使用WSL2安装ubuntu22.04
  • macos 下 docker使用方法 新手教程
  • t恤定制网站哪个网站是做红酒酒的
  • 玉林网站建设培训wordpress美术馆插件
  • 一个大型 3A 游戏的开发流程是怎么样的?
  • 智能性能分析:AI大模型识别性能瓶颈并提出改进建议
  • Flutter 中使用 Flame + flame_forge2d 的注意事项清单
  • SpringBoot教程(安装篇):Elasticsearch及可视化工具安装(Windows环境)
  • 华为OD机试双机位A卷 - 商品推荐多属性排序 (C++ Python JAVA JS GO)
  • 延安市违法建设举报网站深圳宝安网站推广
  • Mac Nginx安装、启动、简单命令(苍穹外卖、黑马点评前端环境搭建)
  • 新乡哪有做网站的北京seo执行