不幸的是我不太了解网络。我正在编写一个有两个版本的程序。服务器版本和客户端版本。让我们假设客户端版本安装在20个通过以太网连接到服务器的PC上。客户端版本需要始终从服务器获取一些数据。数据有点串行。我想知道一种方法来广播每秒更新的数据,并使其可供网络中的所有其他PC使用。我可以使用HTTP端口吗?比如将数据写入HTML页面或其他什么?或者有更好的端口或方法吗?
任何想法都将不胜感激。
答案 0 :(得分:4)
这听起来像是一个非常简单的TCP套接字应用程序。服务器将设置为“侦听”特定端口(您选择端口号,例如12345),并且每个客户端将与该端口上的服务器建立TCP连接。
每当服务器有数据要发送时,它都会将其发送到每个连接的客户端。这可能意味着服务器在不同的套接字上最多发送20次数据,但这很好。客户端将从连接的套接字读取数据到服务器。
还有其他替代方案,例如UDP甚至UDP多播,但这些通常最终会变得更复杂,因为UDP不保证数据包总是到达目的地(甚至可能是重复或乱序)。 TCP确保您发送的数据以正确的顺序到达,或者根本不到达(在这种情况下,连接将被丢弃)。
这种多TCP连接的一个例子是VNC:
VNC广泛用于教育环境中,例如,允许分布式学生群体同时查看由教师操纵的计算机屏幕,或允许教师控制学生的计算机以提供帮助。 / p>
答案 1 :(得分:1)
有很多方法。你可以选择其中任何一个,但我想,下面的文档对你有很大帮助。
通过TCP / IP HOWTO进行多播: