Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Http 通过TCP/IP端口不断读取/写入数据。哪一个?_Http_Networking_Tcp_Network Programming - Fatal编程技术网

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

Http 通过TCP/IP端口不断读取/写入数据。哪一个?,http,networking,tcp,network-programming,Http,Networking,Tcp,Network Programming,不幸的是,我对网络了解不多。我正在写一个有两个版本的程序。服务器版本和客户端版本。假设客户端版本安装在通过以太网连接到服务器的20台PC上。客户端版本需要不断地从服务器获取一些数据。数据是串行的。我想知道一种方法来广播每秒更新的数据,并使其可用于网络中的所有其他PC。我可以使用HTTP端口吗?比如将数据写入HTML页面或其他什么?或者是否有更好的端口或方法来执行此操作 任何想法都将不胜感激。这听起来像是一个非常简单的TCP套接字应用程序。服务器将被设置为在特定端口上“侦听”(您选择端口号,比如1

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


任何想法都将不胜感激。

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

只要服务器有数据要发送,它就会向每个连接的客户端发送一次数据。这可能意味着服务器在不同的套接字上最多发送20次数据,但这没关系。客户端将从其连接的套接字读取数据到服务器

还有其他选择,例如UDP,甚至UDP多播,但这些通常会变得更加复杂,因为UDP不能保证数据包始终到达目的地(甚至可能重复或无序)。TCP确保您发送的数据要么以正确的顺序完整到达,要么根本不到达(在这种情况下,连接将被断开)

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

VNC广泛应用于教育环境中,例如,允许一组分散的学生同时查看由讲师操作的计算机屏幕,或允许讲师控制学生的计算机以提供帮助


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

TCP/IP多播方式:


您正在传输什么类型的数据?对于刚接触Socket/TCP的人来说,需要注意的是,您传输的数据可能不是全部在同一个数据包中到达,或者多个传输可能在同一个数据包中到达。ZeroMQ似乎是克服这一问题的简单方法,但我还没有尝试过。或者,您需要在协议中使用一些手动框架。谢谢。如果我们有很多数据要发送,可以吗?我的意思是20个客户端每秒超过10个数字?@辅助:就现代网络而言,这实际上是一个非常小的数据量。