概述
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、pandas是什么?
- 二、使用步骤
- 1.引入库
- 2.读入数据
- 总结
前言
写个基础的JAVA网络程序,实现双工通信
一、两个类
1.一个累
代码如下(示例):
import java.io.IOException; import java.net.*; import java.util.Scanner; public class send { public static void main(String[] args) throws IOException { Thread t1 = new send.re(); Thread t2 = new send.se(); t1.start(); t2.start(); } static class re extends Thread { DatagramSocket ds; re() throws SocketException { ds = new DatagramSocket(3000); } public void run() { while (true) { byte[] bys = new byte[1024]; DatagramPacket dp = new DatagramPacket(bys, bys.length); try { ds.receive(dp); } catch (IOException e) { e.printStackTrace(); } System.out.print(dp.getAddress().getHostAddress()+":"+dp.getPort()+"--->"); System.out.println(new String(bys, 0, dp.getLength())); } } } static class se extends Thread { @Override public void run() { DatagramSocket ds = null; try { ds = new DatagramSocket(); } catch (SocketException e) { e.printStackTrace(); } while (true) { Scanner sc=new Scanner(System.in); String s = sc.nextLine(); byte[] bys = s.getBytes(); int len = bys.length; DatagramPacket dp = null; try { dp = new DatagramPacket(bys, len, InetAddress.getByName("127.0.0.1"), 8954); } catch (UnknownHostException e) { e.printStackTrace(); } try { ds.send(dp); } catch (IOException e) { e.printStackTrace(); } } } }
2.另一个泪
代码如下(示例):
import java.io.IOException; import java.net.*; import java.util.Scanner; public class receive { public static void main(String[] args) throws IOException { Thread t1=new re(); Thread t2=new se(); t1.start(); t2.start(); /* DatagramSocket ds=new DatagramSocket(10086); byte []bys=new byte[1024]; DatagramPacket dp=new DatagramPacket(bys,bys.length); ds.receive(dp); System.out.println(new String(bys,0,dp.getLength())); */ } static class re extends Thread{ @Override public void run() { DatagramSocket ds= null; try { ds = new DatagramSocket(8954); } catch (SocketException e) { e.printStackTrace(); } while(true){ byte []bys=new byte[1024]; DatagramPacket dp=new DatagramPacket(bys,bys.length); try { ds.receive(dp); } catch (IOException e) { e.printStackTrace(); } System.out.print(dp.getAddress().getHostAddress()+":"+dp.getPort()+"--->"); System.out.println(new String(bys,0,dp.getLength())); } } } static class se extends Thread{ DatagramSocket ds; se() throws SocketException { ds = new DatagramSocket(); } public void run() { while(true){ Scanner sc=new Scanner(System.in); String s = sc.nextLine(); byte [] bys=s.getBytes(); int len =bys.length; DatagramPacket dp= null; try { dp = new DatagramPacket(bys,len, InetAddress.getByName("127.0.0.1"),3000); } catch (UnknownHostException e) { e.printStackTrace(); } try { ds.send(dp); } catch (IOException e) { e.printStackTrace(); } } } } }
总结
一个类里两个套接,一个发送,一个接受。两个发送端口未指定,系统随机分配。两个发送打包端口各自指向另一个类里的接受套接。。。。。。。。
结束!!!!
最后
以上就是爱听歌世界为你收集整理的基于UDP实现双工通信(JAVA)(多线程)前言一、两个类总结的全部内容,希望文章能够帮你解决基于UDP实现双工通信(JAVA)(多线程)前言一、两个类总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复