不幸的是,我不太了解网络。我正在写一个有两个版本的程序。服务器版本和客户端版本。假设安装了客户端版本,比如20台通过以太网连接到服务器的PC。客户机版本需要不断地从服务器获取一些数据。数据是串行的。我想知道一种方法来广播每秒更新的数据,并将其提供给网络中的所有其他PC机。我可以为此使用HTTP端口吗?像是把数据写到HTML页面之类的?或者有更好的端口或方法来做这件事吗?
任何想法都将受到极大的赞赏。
最佳答案
这听起来像是一个非常简单的TCP套接字应用程序。服务器将被设置为在一个特定的端口上“监听”(您选择端口号,比如12345),并且每个客户机将与该端口上的服务器建立TCP连接。
每当服务器有数据要发送时,它会将数据发送一次到每个连接的客户机。这可能意味着服务器在不同的套接字上最多发送20次数据,但这没关系。客户机将从其连接的套接字向服务器读取数据。
还有其他的选择,比如UDP或者甚至是UDP多播,但是这些通常会更加复杂,因为UDP不能保证数据包总是到达目的地(甚至可能是重复的或者无序的)。TCP确保您发送的数据要么以正确的顺序完整到达,要么根本不到达(在这种情况下,连接将被断开)。
这种多TCP连接的一个例子是:
VNC广泛应用于教育环境中,例如允许一个分布式学生组同时查看由教师操纵的计算机屏幕,或允许教师控制学生的计算机以提供帮助。