草庐IT

tcp_sack

全部标签

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状态。

C#多线程文件传输使用TCP

我正在设计用于从客户端接收文件的TCP服务器。它为一个客户工作。但是Server需要响应多个client。我不知道如何同时从客户端接收多个文件。请帮助我。服务器代码:publicpartialclassForm1:Form{Threadt1;intflag=0;stringreceivedPath="yok";publicdelegatevoidMyDelegate();privatestringfileName;publicForm1(){t1=newThread(newThreadStart(StartListening));t1.Start();InitializeCompone

node.js - nodejs tcp 监听器脚本

我有以下情况,只是想检查一下我是否做对了。我的客户有几个设备(RS232)。现在我有一个RS232-WIFI加密狗与之连接,因此设备外的数据被发送到我的服务器(它输出一个数据字符串,例如:{12,1,etc)。在我的服务器上,我运行了一个NodeJS脚本,它打开一个端口并获取所有传入的数据。varnet=require('net');varhost='1.1.1.1';varservers=[];varports=[20000,20001,20002,20003,20004];//Createserversports.forEach(function(port){vars=net.cr

c - getsockopt 类似 TCP_INFO 的 UDP 统计信息

我使用的是Linux内核2.6.32(x86_64),可以通过将TCP_INFO传递给getsockopt并接收tcp_info来获取TCP统计信息struct,在/usr/include/netinet/tcp.h中定义。我可以获得类似的UDP统计信息吗?(可能更少,因为没有内置的拥塞控制和重传等。但我对我能得到的任何统计数据都很满意) 最佳答案 TCP_INFO的字面意思是TCP的信息。UDP没有信息的原因是它是无状态的。没有保证传输,不是rtf,没有窗口大小,没有太多信息可提供。如果你真的想获取一些额外的信息,请查看man2r