草庐IT

tcp_probe

全部标签

tcp - RTOS 通过 TCP 连接到本地服务器,但不连接到远程服务器

我正在使用RTOS设备,当尝试通过TCP连接到服务器时,我遇到了一些异常结果。当连接到本地网络上的服务器时,连接正常,我可以看到数据包在Wireshark上流动。但是,当尝试连接到远程服务器时,一个在我的域之外的服务器,连接失败,错误代码为:TCP_ERR_NOSUCH_SOCKET(-4)---表明你试图分配一个套接字不存在。这发生在connect()函数期间:boolCTCP::Connect(constchar*ipaddr,unsignedshortport){IPADDRip=AsciiToIp(ipaddr);this->m_fdnet=connect(ip,INADDR_

PHP - 非阻塞,传出 TCP 连接 - 如何?

我对在PHP中执行非阻塞IO的各种方法有些熟悉,但我似乎无法回答这个问题。让我描述一下我正在尝试做的事情:我想要一个名为“Monitor”的静态类,我可以向它抛出各种消息。然后该类应该连接到外部TCP服务器并发送这些消息-但我不想等待它发生。从初始连接到外部服务器到发送消息的一切都应该异步发生,而我的脚本已经转移到其他事情上。这可能吗?我目前正在尝试使用fsockopen()、stream_set_blocking()等... 最佳答案 你说的基本上是多线程(这不是通常使用php的方式)。你可以查看thisarticle看看怎么做。

multithreading - 如何编写多线程 TCP/IP 发送方代码

我需要一个TCP/IP发送器,它将文本文件的内容作为字节流发送到一组可配置的IP和端口。最好是可以包含在一个线程中并且可以为多个目的地配置的东西。我应该怎么做? 最佳答案 与其想出自己的发送机制,不如考虑使用消息队列。它们非常易于使用并且大多数具有出色的性能(例如zeroMQ对于64字节的消息每秒可以发送470万条消息) 关于multithreading-如何编写多线程TCP/IP发送方代码,我们在StackOverflow上找到一个类似的问题: https:

Android TCP 紧急消息实现

有一个TCPURG标志,表示TCP消息的一部分是紧急的。在这种情况下,紧急部分应该更快地进行并更早到达应用程序。它是否也与接收应用程序的优先级有关?它的优先级会因此改变吗? 最佳答案 不能保证带有URG标志的TCP数据包会更快到达。这是因为URG标志只影响接收主机对TCP数据包的处理,不影响实际的媒体传输。URG标志用于带外(OOB)消息处理。例如,如果您正在发送大量媒体数据流,然后想取消在远程主机上的接收。在这种情况下,您将发送标记为OOB。接收方的OOB数据包将优先处理普通数据包。您能否更具体地说明应用程序的优先级?如果您指的是

c++ - 套接字配置中的 TCP 重传

我在C++中用作套接字(Windows为Winsock2,Linux为socket.h)有没有办法将TCP重传配置为小于或大于默认值?我的意思是:我知道有注册表项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\ParametersTCPMaxDataRetransmissions在那里我可以为所有应用程序配置它,但我只想将我的应用程序中的套接字配置为非默认套接字。 最佳答案 我还没有试过这个,但我知道有一个TCP_MAXRT选项可以设置。只是在include目录

tcp - 服务器是否重新尝试发送 TCP "connection closed"数据包?

如果有防火墙丢弃服务器的连接重置数据包,是否重新发送?它是否只是发送数据包而忘记它,只有在客户端尝试使用服务器关闭的连接时才重新发送? 最佳答案 在没有其他刺激的情况下,TCPReset应该只发送一次。没有对它的确认,因此服务器无法知道它已被丢弃。在客户端试图保持连接的情况下,服务器会发送另一个Reset,但如果防火墙继续丢弃它们,那将无关紧要 关于tcp-服务器是否重新尝试发送TCP"connectionclosed"数据包?,我们在StackOverflow上找到一个类似的问题:

tcp - 如何在 tcp 连接中使用 LoopBack

我的申请时间紧迫。它通过TCP/IP与另一个应用程序通信。这两个应用程序都在同一台机器上运行。我的应用程序是用vb.net编写的,当然我有源代码。我通过套接字与该外部应用程序通信。每当我向该应用程序发送一条消息时,它都会花费正常时间,因为它正在同一网络上的其他计算机上运行。我想通过绕过开关来减少时间。类似LOOPBACK的东西。谁能帮忙 最佳答案 如果您使用地址127.0.0.1而不是机器的“正常”IP地址,则应该使用环回适配器。如果它真的在网络级别花费的时间与一台单独的机器花费的时间相同,我会感到惊讶-你确定你是在衡量网络交付时间

networking - Linux 内核中的 TCP/IP 堆栈

我正在将自定义TCP协议(protocol)实现为LKM。除了普通数据包之外,我需要在每个RTT发送一个自定义数据包,以向接收方传达一些信息。但我无法理解如何确定每个RTT或传输回合的开始/结束。有什么可以帮助的指示或建议吗? 最佳答案 检查一下:http://www.spinics.net/lists/newbies/msg47478.html并在内核源代码(尤其是net/ipv4/分支)中搜索“srtt”签名:net/ipv4/tcp_input.c:/*Calledtocomputeasmoothedrttestimate.T

linux - 如果 TCP 服务器脱离网络,接受函数是否返回错误 (-1)

如果它所连接的以太网接口(interface)脱离网络,accept函数是否返回错误(-1)?如果不是,应用程序(TCP服务器)将如何知道它的接口(interface)不再处于事件状态??我正在使用一个线程来接受连接,而不是使用任何“select”语句来这样做。直接调用accept()函数,但如果我从以太网接口(interface)中删除IP地址,它不会以某种方式重新调整错误。使用C,工作环境为linux。 最佳答案 通常您不会将您的服务器套接字绑定(bind)到特定的IP地址(您使用INADDR_ANY)。因此,即使您删除了您的以

java - 连接短时间中断后 TCP 连接被拒绝

我正在使用(Java)TCP套接字连接到支持网络的设备。考虑以下场景:1)TCP套接字连接成功创建2)网络连接短时间中断(我只是通过拔掉网线来测试这个)3)我的程序关闭套接字。4)对方socket只响应我这边的请求;因此,连接另一端的套接字不一定检测到断开的连接5)重新建立网络连接6)我的程序试图再次打开套接字7)->得到一个SocketException:connectionrefused为什么?因为另一端的套接字认为tcp连接仍然打开,因此拒绝同一端口上的任何其他连接请求。接下来会发生什么?大约5分钟后,我的程序能够再次打开套接字,因为另一端检测到连接不再处于Activity状态。