1、使用TCP协议完成两台主机之间的消息通信。
运行完成通信
2、使用UDP协议完成两台pc机之间的消息通信。
运行完成通信
问题简述
UDP协议使用过的端口号在关闭连接后会进入一个时间等待状态(TIME_WAIT),在这个状态下,操作系统会保留该端口一段时间来确保所有的网络数据包都被接收完整。这个等待时间通常为2倍的最大报文段生存时间(MSL)。在这个时间段内,操作系统不允许其他程序使用这个端口号。
这种设计是为了确保网络数据的可靠性和可靠连接的正确关闭。如果端口号在等待时间结束前就被其他程序占用,可能会导致之前的连接的数据包被新程序接收,从而可能产生数据混乱。
当然,操作系统通常会在端口关闭后的一段时间内逐渐释放该端口,以便其他程序可以再次使用。具体释放端口的时间限制是由操作系统管控的,并且在不同的操作系统上可能存在差异。
因此,为了避免使用过的端口号导致的数据混乱问题,建议在程序中避免立即使用之前关闭的端口号。可以选择在端口号被释放一段时间后再次使用,或者使用其他未被使用的端口号。