草庐IT

tcp_client

全部标签

tcp - TCP 中的重复段

在遍历RFC793时,我开始知道应该以这种方式选择初始序列号段重叠被阻止。有人能解释一下如果发生重叠,重复段将如何影响TCP? 最佳答案 不同的操作系统有不同的行为。参见http://insecure.org/stf/secnet_ids/secnet_ids.html的第4.3.2节我把那个表复制到这里:OperatingSystemOverlapBehaviorWindowsNT4.0AlwaysFavorsOldData4.4BSDFavorsNewDataforForwardOverlapLinuxFavorsNewData

c - 使用 libevent 在 C 中进行 TCP 端口事件回调

长话短说,我正在用C实现一个混合网络。为此,我创建了几个单独的守护进程,它们监听TCP端口的一部分(比如31001-31008),在这些端口上接收数据并将其放入缓冲区(比如TCP端口31002-->char*data[2]),然后最终将数据写到另一组端口(比如51001-51008)到列表中的下一个守护进程。除此之外,这就是我的困惑!我在这里和其他地方做了很多阅读,并决定实现这一点的最简单方法是使用libevent2。我基本上是从这个开始的(在页面底部):http://www.wangafu.net/~nickm/libevent-book/Ref8_listener.html...除

python - selenium webdriver 的 tcp/ip 端口耗尽

我正在使用seleniumwebdriver(用Python编写)进行一套测试。被测试的页面包含一个表单,该表单根据在其中一个选择框中选择的值更改其显示的字段。这个选择框有大约250个选项。我有一个测试(通过Nose运行,尽管这可能无关紧要)遍历选择框中的所有选项,验证表单是否为每个选定选项显示了正确的字段。问题是对于每个选项,它都通过selenium调用:点击选择选项7个字段的find_element和is_displayed为选择框中的项目查找元素获取选择框中每个选项的属性和文本结果是(大约)250*(7*2+1+2*250),或128,750个对运行测试的webdriver服务器

c++ - boost::asio tcp 数据库服务器

我需要一些提示:我正在编写一个tcp数据库服务器,它可以容纳100个字符串(我使用字符串vector来保存数据)。到目前为止,我实现的基本功能是:客户端发送:PUT"index""value"-字符串被放入vector[index]。客户端发送:GET"index"-vector[index]被发送给客户端我的工作基于boost::asio异步回显服务器示例http://www.boost.org/doc/libs/1_39_0/doc/html/boost_asio/example/echo/async_tcp_echo_server.cpp现在,我想将服务器的功能扩展到:仍未解决1

ruby - 通过 Internet 发送 TCP 数据包(使用 Ruby)

我正在尝试学习如何通过Internet将TCP数据包发送到另一台计算机。也就是说,计算机1通过Internet将数据发送到计算机2(使用TCP)。假设两台计算机都正确设置了端口转发,我将如何在两台计算机之间建立TCP连接(最好使用Ruby)?我在我的LAN上运行它,但是当我通过Internet尝试时,它似乎不起作用。我的尝试(基本上):计算机1:server=TCPServer.new32500client=server.accept计算机2:TCPSocket.newPUBLIC_IP_OF_COMPUTER_1,32500问题是TCPSocket永远不会连接到TCPServer。我

tcp - Microchip TCP/IP 堆栈 PIC18F 无效数据包序列号/确认号

亲爱的StackOverflowers,我正在开展一个项目,使用Microchip的TCP/IP堆栈在我的自定义(和测试)板上的PIC18F87J60上实现一些东西。作为测试,我编写了一些代码来设置连接,将其保持x秒,然后优雅地关闭它。我已经将它实现为一个有限状态机。我还没有添加发送和接收数据。但是,我的程序无法建立连接。使用Wireshark我注意到我的设备通过DHCP成功接收到IP地址并且ARP解析正确完成。我现在省略了DNS,因为这也会出错,但我稍后会解决这个问题。我还看到第一个SYN数据包由我的设备发送并由服务器回复,但3次握手中的3e步骤出错了。确认号只是一个随机数,因此服务

java - 通过套接字读取 TCP 目标

我正在编写Android应用程序。我将端口转发到我的应用程序并使用套接字监听它。我正在接收数据,但只接收TCP层上的数据。那不是问题,但现在我需要原始目标IP,但它应该在TCP层中。那么你知道吗,有没有简单的方法来获取这个IP?或者是否有一种简单的方法来设置套接字以获得比仅通过TCP获得更多层的套接字? 最佳答案 如果您在NAT设备上转发TCP端口,那么您要查找的信息在NATed目的地不可用,因为需要在IPheader中将目标地址覆盖为私有(private)地址才能实现此目的去工作。 关

linux - C Linux tcp 代理服务器套接字

我一直在Linux中进行一些套接字编程,我正在尝试做一个并发代理服务器。基本上我希望每个连接到代理服务器的客户端都会遇到2个问题。第一个是介绍命运的IP,第二个是端口号。发送此信息后,代理服务器会将每个客户端连接到他们选择的IP(即回显服务器)。我的问题是如何以及在哪里保存每个用户回答的2个问题,然后将它们连接到他们选择的回显服务器。这是我认为我们必须处理的代码部分:/*============WARNSTHATSERVERISREADYTOACCEPTREQUESTS==================*/if(listen(sockfd,5)==-1)Abort("Impossib

sockets - 旧 TCP 连接的数据是否有可能潜入同一端口上的新 TCP 连接

我正在套接字上设置SO_REUSEADDR选项。假设一个套接字从一端关闭。并且套接字描述符被重新分配给其他进程。来自旧TCP连接的数据是否有机会潜入新TCP连接?有没有人观察到旧数据偷偷进入新的TCP连接,尤其是在Solaris上? 最佳答案 没有。如果你重新使用本地端口,但是远程主机或端口在后续连接中发生变化,那么这是不可能的。对于从同一本地IP/端口重新连接回同一远程IP/端口的情况,也称为TIME-WAITAssasination,TCP堆栈需要遵守一些规则。主要是-从比前一个连接更高的序列号开始。您可以阅读RFC1337中的

networking - 移动网络方面的持久 TCP 连接?

我对移动连接中的WebSocket通信有疑问。我想知道当用户在不同网络之间迁移时,如何在移动网络中长时间处理长期存在的TCP连接。当发生切换(hand-off)时,已经建立的TCP连接会怎样?在这种情况下,不同技术(3G、4G等)的表现是否不同?如果你能留下一些在线资源或文章,我将不胜感激,我可以在这方面阅读更多内容?提前谢谢你:) 最佳答案 切换对用户始终是透明的——在LTE、UMTS等商业移动网络上的塔之间转换时,所有TCP和语音连接始终保持事件状态。您可能会遇到数据停止的某些时间段流动,但仅此而已。通过在T-MobileUSA