在JAVA中,发送和接收多播信息的方法:
发送多播信息需经历步骤
确定发送的具体信息内容
String msg = "Hello"
选用专门为多播指定的D类IP地址(224.0.0.1到239.255.255.255),创建一个多播组
InetAddress group = InetAddress.getByName("228.5.6.7")
使用指定的端口(一般选1024以上的端口号)建立多播套接字
MulticastSocket s = new MulticastSocket(6789)
加入多播组
s.joinGroup(group)
创建一个数据报封装多播信息
DatagramPacket hi = new DatagramPacket(msg.getBytes(), msg.length(),
group, 6789)
发送
s.send(hi)
接收多播信息的步骤
开辟接收缓冲区
byte[] buf = new byte[1000]
创建接收数据报
DatagramPacket recv = new DatagramPacket(buf, buf.length)
接收
s.receive(recv)
注意:以上发送和接收程序在同一个文件中实现,若在不同文件中实现则应分别定义多播套接字并加入多播组。
3.与已知IP和端口的端点通信
在互联网上主要采用TCP和UDP来实现两点之间的通信。采用TCP可可靠传送信息,但花费时间较多;采用UDP可快速传递信息,但不能保证可靠传递。
JAVA实现TCP通信的方法 :
利用Socket(InetAddress addr, int port)和 Socket(String host, int port),创建客户端套接字,利用ServerSocket(int port)创建服务器端套接字,port端口就是服务器监听连接请求的端口,通过调用accept()返回一个最近创建的Socket对象,该Socket对象绑定了客户程序的IP地址或端口号。通过调用Socket的 getInputStream()方法获得输入流读传送来的信息,也可能通过调用Socket的 getOutputStream()方法获得输出流来发送消息。
JAVA实现UDP通信的方法 :
使用DatagramPacket(byte [] buffer, int length, InetAddress addr, int port) 确定数据包数组、数组的长度、数据包的地址和端口信息。使用DatagramSocket()创建客户端套接字,而服务器端则采用DatagramSocket(int port),调用send(DatagramPacket dgp)和 receive(DatagramPacket dgp)来发送和接收数据包。本文设计的程序采用UDP。
P2P(Peer-to-Peer 端到端)模型是与C/S(客户/服务器)模型相对应。基于C/S的用户间通信需要由服务器中转,在C/S中的服务器故障将导致整个网络通信的瘫痪。。而基于P2P的用户间通信则是直接通信,去掉了服务器这一层,带来的显著优点是通信时没有单一的失败点,一个用户的故障不会影响整个P2P网络。本文提供了一种用JAVA实现P2P网络通信的方法。
你可能安装了:Advanced Networking Pack for Microsoft Windows XP Service Pack 1 (SP1)。Advanced Networking Pack 是 Windows XP SP1 的一个添加项,它包括一个更新的 Internet 协议版本 6 (IPv6) 网络堆栈、一个 IPv6 Internet 连接防火墙 (ICF) 和 Microsoft 点对点 (P2P) 网络平台。可选的 Windows 点对点网络组件为点对点程序通过网络地址转换 (NAT) 设备和通过 Internet 在计算机与计算机之间直接通信提供了一个框架。详情请看如下网址:http://support.microsoft.com/kb/817778/zh-cn
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)