单播(Unicast):
客户端和服务器点到点,单个的发送者和单个的接收着之间通过网络点到点通信;从客户端和服务器之间建立一个单独的数据通道,从一台服务器发送的每个数据包只能传给一个客户机,这种方式叫做单播。Netty里的TCP链接面向这种链接方式。在发送者和每一接收者之间实现点对点网络连接
组播:(Multicast)
在发送者和每一接收者之间实现点对多点网络连接。
广播(Broadcast)传输:广播都是限制在局域网中的,是指在IP子网内广播数据包,所有子网内的主机都将收到这些数据包。在使用TCP/IP协议的网络中,主机标识段Host Id全为1的IP address表示广播地址,例如在192.168.网段其广播地址为192.168.1.255,当发出一个目的地址为192.168.1.255的数据包时,它将被分发给该网段上的所有计算机。
传输层两个协议TCP和UDP
TCP(Transmission Control Protocol ,传输控制协议)
UDP (User Datagram Protocol, 用户数据报协议)
区别不做比较
如下广播用UDP实现
import ;
import ;
import ;
public void sendMessage(int port,String address) throws Exception{
// 创建发送方的套接字,IP为发送方广播地址(如192.168.1.255),端口号随机
DatagramSocket sendSocket = new DatagramSocket();
// 确定要发送的消息 String msg = “添写要发送的信息”;try { // 由于数据报的数据是以字符数组传的形式存 储的,所以传转数据 byte[] buf = ("UTF-8"); // 确定发送方的IP地址及端口号,地址为本地网络 InetAddress ip = InetAddress.getByName(address); // 创建发送类型的数据报 DatagramPacket sendPacket =new DatagramPacket(buf,,ip,port); // 通过套接字发送数据 (sendPacket); (); }catch (Exception e){ (); }