[分布式java]基于JavaAPI实现消息方式的系统间通信:UDP/IP+BIO
来源:互联网 发布:淘宝迪奥正品店 编辑:程序博客网 时间:2024/05/21 10:20
基于JavaAPI实现消息方式的系统间通信: UDP/IP+BIO
* UDP是一个不可靠无连接协议,数据直接发往接收端后不管是否成功。
* UDP是一个不可靠无连接协议,数据直接发往接收端后不管是否成功。
* JavaAPI中,DatagramSocket与连接有关,DatagramPacket与数据承载有关。
实现比较简单,与TCP/IP+BIO类似,接收和发送会产生阻塞,以下为代码实现
public class UdpIpBioJavaMethod { public static void main(String[] args) { final UdpIpBioJavaMethod server=new UdpIpBioJavaMethod(); //建立一个接收监听线程 final Thread receive=new Thread() { @Override public void run() { server.receive(1234); } }; receive.start(); final Thread send=new Thread() { @Override public void run() { server.send(1234); } }; send.start(); } public void receive(int port){ DatagramSocket serverSocket=null; try { //开启一个监听,设置端口,用于连接 serverSocket=new DatagramSocket(port); byte[] buffer=new byte[65507]; //用于接收数据 DatagramPacket receivePacker=new DatagramPacket(buffer,buffer.length); serverSocket.setSoTimeout(6000);//设置读取流超时设置 //while(true){//可以设置持续监听 //此处会阻塞,等待接收数据,可以建立多线程处理阻塞 serverSocket.receive(receivePacker); System.out.println("Client Address:" + receivePacker.getAddress()); System.out.println("Client Port:"+receivePacker.getPort()); System.out.println("Client Data:"+new String(receivePacker.getData())); //} } catch (SocketException e) { e.printStackTrace(); }catch (IOException ie){ ie.printStackTrace(); }finally { serverSocket.close(); } } public void send( int port){ byte[] data="Hello Receiver".getBytes(); DatagramSocket socket= null; try { socket = new DatagramSocket(); //用于发送数据,最后两个参数: 1、目标IP。2、目标port DatagramPacket packet=new DatagramPacket(data,data.length ,InetAddress.getLocalHost(),port); socket.send(packet); } catch (SocketException e) { e.printStackTrace(); }catch (UnknownHostException ue){ ue.printStackTrace(); }catch (IOException ie){ ie.printStackTrace(); }finally { socket.close(); } }}
0 0
- [分布式java]基于JavaAPI实现消息方式的系统间通信:UDP/IP+BIO
- [分布式java]基于JavaAPI实现消息方式的系统间通信:TCP/IP+BIO
- [分布式java]基于JavaAPI实现消息方式的系统间通信:UDP/IP+NIO
- [分布式java]基于JavaAPI实现消息方式的系统间通信:TCP/IP+NIO
- java分布式开发TCP/IP NIO无阻塞 Socket((基于消息方式实现系统间的通信) )(转)
- Java——基于java自身包实现消息系统间的通信(TCP/IP+BIO)
- 分布式Java应用之基于消息方式实现系统间的通信(2)
- 基于消息实现系统间的通信(BIO,NIO,AIO)学习。
- 基于消息实现系统间的通信(BIO,NIO,AIO)
- 基于消息实现系统间的通信(BIO,NIO,AIO)
- 基于java自身技术实现消息方式的系统间通信
- Java——基于java自身包实现消息系统间的通信(TCP/IP+NIO)
- 基于BIO的Java Socket通信
- 基于BIO的Java Socket通信
- 基于BIO的Java Socket通信
- 基于BIO的Java Socket通信
- 基于BIO的Java Socket通信
- java分布式,基于开源框架实现消息方式
- 查看oracle rac 各节点公网,私网ip信息
- LINUX常用命令
- 数据结构(Java语言)——HashTable(开放定址法)简单实现
- Java连接,操作MongoDB
- C源码@数据结构与算法->Sorting
- [分布式java]基于JavaAPI实现消息方式的系统间通信:UDP/IP+BIO
- 存储过程的调用
- js循环
- PCIE协议解析 synopsys IP DBI and LBC 读书笔记(6)
- 小甲鱼Python第六讲课后题
- uitextfield 偶尔无法选中问题解决办法
- Unity3d资源写入Android内置存储卡
- async注意点
- C# 上传文件