草庐IT

ip_network

全部标签

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

不幸的是我不太了解网络。我正在编写一个有两个版本的程序。服务器版本和客户端版本。假设客户端版本安装在20台通过以太网连接到服务器的PC上。客户端版本需要不断地从服务器获取一些数据。数据是串行的。我想知道一种方法来广播每秒更新的数据,并使网络中的所有其他PC都可以使用它。我可以为此使用HTTP端口吗?比如将数据写入HTML页面或其他内容?或者是否有更好的端口或方法来执行此操作?任何想法将不胜感激。 最佳答案 这听起来像是一个非常简单的TCP套接字应用程序。服务器将设置为“监听”特定端口(您选择端口号,比如12345),每个客户端将在该

windows - 如果不调用 recv,来自 TCP/IP 的缓冲区在哪里?

假设我有一个监听端口X的服务器。多个客户端连接到服务器并通过send命令发送数据。如果服务器没有有recv例程来“刷新”缓冲区,会发生什么情况?缓冲区是驻留在您自己的进程中还是在Windows中?是否还可以“DDos”呢? 最佳答案 WhathappensiftheserverdoesNOThavearecvroutineto"flush"thebuffer?对应于该套接字的接收缓冲区将被填满。当发生这种情况时,UDP将默默地丢弃传入的数据报。TCP将丢弃传入的数据报并且不确认它们,从而触发拥塞控制(在Reno/XP下将窗口大小减半

Delphi 2007,Indy 10 - 单向传输数据 block 的最简单的 TCP/IP 设置是什么

我有一个应用程序(“服务器”)每秒更新内存中的数据block-大约100k字节。在同一网络上的其他工作站上运行着1到4个“客户端”应用程序的其他实例,这些实例需要每秒读取相同的100k图像。到目前为止,这是通过将图像写入服务器上的文件并让客户端通过网络从该文件中读取来实现的。这多年来一直没有问题,但最近(恰逢转向基于Windows8的硬件)它出现了一个问题,除了一个节点之外,所有节点都无法访问该文件。退出在此节点上运行的客户端应用程序会释放文件,然后所有人都可以再次访问它。对于这次锁定的原因,我仍然感到困惑,但我想知道它是否可能是讨论的机制here,其中文件由于网络故障而未关闭。我认为

networking - TCP 序列号

为什么我们需要TCP头中的序列号和下一个序列号字段?下面是使用wireshark捕获的数据包中的TCPheader。 最佳答案 首先,Wireshark中[brackets]中的字段是计算字段-它们不在数据包中。Wireshark显示的下一个序列号字段就是这样一个字段。Wireshark通过获取“序列号”字段并将其添加到数据包的有效负载大小来计算。毫不奇怪,这两个数字之间的差异是1430——一个常见的TCP负载大小。TCP中的序列号以字节为单位-它们基本上表示,此数据包的有效负载插入TCP流中的哪个字节位置。“已确认”序列号显示我确

c# - 为什么我的 python TCP 服务器需要绑定(bind)到 0.0.0.0 而不是本地主机或其 IP 地址?

我正在制作一个PythonTCP服务器和一个C#客户端,我让它工作了,但我不明白为什么它在工作,我希望有人能向我解释什么我迷路了。我正在尝试从我自己的网络内进行连接,因此不涉及防火墙。在我的python脚本中,如果我绑定(bind)到127.0.0.1或localhost我无法从我的C#脚本连接到它,所以我想也许它需要是DHCP服务器给它的本地IP地址,所以我尝试绑定(bind)到192.168.1.74(本地IP地址)。这仍然不起作用,但是如果我使用0.0.0.0作为我绑定(bind)的端口,我可以毫无问题地连接。Python服务器代码:defstartserver():global

networking - 追踪数据包被阻止/丢弃的位置

当我在中国时,我公司的网站被封锁了大约24小时。我假设它是“伟大的中国防火墙”,但我想知道是否有任何方法可以找出数据包或TCP/IP连接被阻止的确切位置。我能够验证它没有被阻止在我们这一端(我使用本地主机文件指向中国境内的备份服务器)或在我们服务器端(其他人仍然可以连接到两者)ISP)。我尝试了tracert,但只有端口80被重定向。我可以毫无问题地通过ssh连接到服务器。另一个问题是中国的大多数路由器只是丢弃数据包而不响应ping等,因此您无法找到它们的IP地址。future是否有任何工具可以追踪数据包被阻止的位置? 最佳答案 t

c# - Amazon EC2 上的实时 TCP/IP 套接字服务器

我打算将我的游戏服务器迁移到AmazonEC2。现在,实际服务器在Windows专用服务器上运行在.NetFramework3.5上。由于这是一个个人副项目,拥有一个完全专用的服务器非常昂贵,因此我想将它移动到云端(AmazonEC2或WindowsAzure)。有人做过这样的事吗?有可能这样做吗?如果是的话,你能不能给我提供一些关于这个主题的文档,因为我只能找到通过http设置web服务器的文档。服务器绑定(bind)并监听2个不同端口上的2个TCP套接字(nodelay选项)。非常感谢!凯尔 最佳答案 使用EC2,您可以完全控制

networking - 识别假 UDP 数据包

我想识别源IP地址伪造的UDP或TCP数据包。我的猜测是,即使数据包是用具有hping的程序伪造的,MACsrc地址在所有伪造的数据包上仍然是相同的,这是正确的吗?如果我的想法不正确,我如何识别这些被伪造的数据包,并且看起来每个数据包都有不同的来源?谢谢。 最佳答案 MAC地址也可以伪造。使用TCP,很容易识别/处理它。您将使用SYN-ACK回复伪造的SYN数据包。如果它是一个真正的客户端,它会回复一个ACK​​来完成握手。唯一需要注意的是,您必须实现同步cookie,这样您就不会在等待ACK时创建状态和耗尽资源。对于UDP,没有办

Eclipse TCP/IP Monitor 有两个端口

我正在尝试使用TCP/IP监视器来监视请求。但是,我看到有两个端口正在使用中。一个是应用端口[8080]和另一个监控端口[9833]。谁能告诉我,为什么会有两个不同的端口?当我启动应用程序时,它会在9833而不是8080启动。为什么会发生这种变化? 最佳答案 Eclipse监控是通过捕获发送到应用程序(主机和端口)的所有请求,为您将其转储到Monitor控制台,然后将原始请求转发到应用程序来完成的。受监控的应用程序本身会将其响应返回到Eclipse(它是其预期的客户端),Eclipse也会将其转储到监控控制台上。现在,eclipse

使用 TCP/IP 套接字检查有多少数据已传送到目的地

我正在开发一个需要向客户端发送大量数据的服务器应用程序。但是,客户端可能随时断开连接,在这种情况下,套接字上的send()/write()将返回错误。我想检查在客户端断开连接之前实际传送了多少数据,以便能够在客户端重新连接时从中断的地方继续发送数据。是否可以使用套接字API进行检查? 最佳答案 不,套接字API不会为您提供此信息。事实上,一般情况下不可能知道这一点。根据连接失败的特定方式,一侧的TCP堆栈通常无法知道有多少数据成功到达另一侧。它唯一能知道的是确认了多少数据,这不是一回事。并且考虑到TCP/IP之外的其他事情可能已经失