不断通过TCP / IP端口读取/写入数据。哪一个?

时间:2010-12-28 21:39:46

标签: http networking tcp network-programming

不幸的是我不太了解网络。我正在编写一个有两个版本的程序。服务器版本和客户端版本。让我们假设客户端版本安装在20个通过以太网连接到服务器的PC上。客户端版本需要始终从服务器获取一些数据。数据有点串行。我想知道一种方法来广播每秒更新的数据,并使其可供网络中的所有其他PC使用。我可以使用HTTP端口吗?比如将数据写入HTML页面或其他什么?或者有更好的端口或方法吗?

任何想法都将不胜感激。

2 个答案:

答案 0 :(得分:4)

这听起来像是一个非常简单的TCP套接字应用程序。服务器将设置为“侦听”特定端口(您选择端口号,例如12345),并且每个客户端将与该端口上的服务器建立TCP连接。

每当服务器有数据要发送时,它都会将其发送到每个连接的客户端。这可能意味着服务器在不同的套接字上最多发送20次数据,但这很好。客户端将从连接的套接字读取数据到服务器。

还有其他替代方案,例如UDP甚至UDP多播,但这些通常最终会变得更复杂,因为UDP不保证数据包总是到达目的地(甚至可能是重复或乱序)。 TCP确保您发送的数据以正确的顺序到达,或者根本不到达(在这种情况下,连接将被丢弃)。

这种多TCP连接的一个例子是VNC

  

VNC广泛用于教育环境中,例如,允许分布式学生群体同时查看由教师操纵的计算机屏幕,或允许教师控制学生的计算机以提供帮助。 / p>

答案 1 :(得分:1)

有很多方法。你可以选择其中任何一个,但我想,下面的文档对你有很大帮助。

通过TCP / IP HOWTO进行多播:

http://www.ibiblio.org/pub/Linux/docs/howto/other-formats/html_single/Multicast-HOWTO.html#sect-trans-prots