草庐IT

tcp_probe

全部标签

tcp - 如果数据包的大小不能超过 1500 字节,文件传输怎么可能进行得如此之快?

从网站下载文件时,可以达到每秒数兆字节的速度。如果TCP需要分解并单独发送超过1500字节的数据包,那么这些速度如何可能?客户端不需要等待每个1500字节的片段,这应该需要一段时间吗?谢谢 最佳答案 Doesn'ttheclienthavetowaitforevery1500bytefragmentwhichshouldtakeawhile没有。这就是TCP的魔力,您不必对每个段都ACK,您可以偶尔ACK。在客户端肯定必须确认至少一些之前,服务器可以推送很多段。TCP使用一个称为“窗口”的概念。发送方可以将数据插入窗口,使其缩小。接

.net - wcf tcp async streamed 是可能的吗?

我有一个使用tcp的服务,并且我的所有方法都是异步的,所以我实现了Begin/End方法(我使用C#4.0)。如果我只修改我的app.confing以将传输模式设置为Streamed而不是Buffered,当我在客户端中进行异步调用时,应用程序将永远等待响应。但是,如果我将传输模式更改为缓冲,则它可以正常工作。我还注意到我需要在缓冲传输模式下使用reliableSession,因为当我启动应用程序时,我收到错误10061,目标服务主动拒绝连接。我知道如果我想使用流式传输模式我不需要禁用dereliableSession,所以我想问是否可以使用异步方法的流式传输模式。谢谢。编辑:我正在尝

java - 代码: Java Transfer File over TCP的效率

我想知道这两个尝试通过TCP套接字发送大文件的block在性能方面的差异。我找不到太多资源来解释它们的效率。一个-byte[]buffer=newbyte[1024];intnumber;while((number=fileInputStream.read(buffer))!=-1){socketOutputStream.write(buffer,0,number);}B-bytemybytearray=newbyte[filesize];os.write(mybytearray);哪个在传输延迟方面更好?此外,如果我将大小设置为1024或65536有什么区别?这将如何影响性能。

c++ - Windows 7 中的 TCP 窗口缩放

我是网络编程的初学者。我阅读了一些可以在互联网上找到的资源,在那里我遇到了TCP窗口缩放。据我了解,比例因子是在SYN数据包中首次建立连接时协商的。那么这是否意味着我们为套接字编程编写的代码不能设置TCP窗口缩放?是操作系统做的吗?比如说,在windows环境下,这是如何发生的,有没有办法让我们手动/动态改变它? 最佳答案 如果您通过setsockopt()将套接字接收缓冲区大小设置为大于64k,则会自动启用窗口缩放。由于窗口缩放协商发生在连接握手期间,因此您必须在连接套接字之前执行此操作。对于服务器通过监听套接字接受的套接字,这显

c++ - 使用 qt 的多客户端/服务器 tcp 应用程序

我正在从事一个项目,该项目需要在“主”应用程序和多个“仆人”之间进行tcp通信。(项目是c++,我也在用qt)“仆人”会做一些处理并将他们的结果发送给“主人”。到目前为止,它是一个简单的多客户端-服务器应用程序。问题是,在随机的时间,主人会要求仆人提供一些额外的信息,甚至向他们发送信息以改变他们处理的方式。如果我的项目基于fortune客户端/服务器示例,我能否从主人向仆人发送消息?(有什么想法吗?)或者我的工作是否需要基于其他东西(比如聊天客户端?)?关于tcp客户端/服务器通信的任何其他建议都是受欢迎的,但由于我已经使用qt,我不想添加其他库....提前致谢!

c - TCP 套接字 C 上的负数

每当我尝试通过TCP套接字发送一个负数时,当我打印收到的内容时,它会显示为“4.29497e+09”。我所做的就是:inti=-8;inttemp=htonl(i);write(sock,&temp,4);在服务器上:inttemp;read(sock,&temp,4);intread=ntohl(temp);cout如果有人能提供帮助,我们将不胜感激。 最佳答案 htonl/ntohl函数专门用于无符号32位整数。Thehtonl()functionconvertstheunsignedintegerhostlongfromhos

Node.js TCP 套接字 session

我有多个客户端从应用程序连接到Node.jsTCP套接字服务器。我想知道一种安全的方式来管理他们的session。用户名+密码通过套接字传递到服务器。服务器确认这是正确的。我认为我现在需要生成一个唯一的token以发送回客户端。现在如果用户关闭应用程序,然后再次打开它,这个token可以传递给服务器,因此服务器将再次确认用户已通过身份验证。但是,其他人可能会使用此token来访问此人的帐户。有办法避免这种情况吗?是否有更安全的方法(同时仍然保持用户无需再次登录即可进行身份验证的能力)?您将如何使用相同的登录名处理来自其他设备的连接。他们得到的是不同的token还是相同的token?非常

tcp - 如何读取TCP数据包?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:TCPIP:IsitpossibletoreadwhatTCP/UDPdataaprogramissendingremotely?我想读取我用Wireshark捕获的数据包。数据包包含数据,长度为133字节。它没有加密。然而,十六进制形式的数据在Wireshark中解码为一串几乎无法理解的乱码。有没有办法以人类可读的形式读取这些数据?我只是想弄清楚游戏客户端是如何工作的,仅此而已。

c - 在 C 中使用 fork() 和 TCP 连接进行设计

我有一个关于如何设计以下系统的问题:我的系统是由多个监听环境的客户端构建的。当超过音频阈值时,他们将信息发送到服务器,该服务器让child监听每个连接。服务器需要来自所有客户端的信息来进行必要的计算。目前服务器正在UNIX中工作并且已经fork出连接。他们独立工作。我想做的是告诉父级(在服务器中)信息已经发送,现在是处理它的时候了。我应该怎么做?我正在考虑可能的不同方法:在Unix中使用signal()以某种方式告诉父级发生了某些事情转换为线程并使用一些等待和通知函数信号是可取的,但我不知道如何有效地做到这一点。因为我的系统中可能会发生以下情况:如果所有客户端都成功地向服务器的子服务器

linux - linux内核中的TCP重传定时器

linuxtcp内核如何查看重传定时器是否运行? 最佳答案 您可以设置两个主机:发送方和接收方。在两者之间建立连接并发送一些流量,比如传输一个大文件。嗅探两侧的流量。在发送流量时设置防火墙规则以丢弃一些数据包,here's一个随机下降x%的例子:#forrandomlydropping10%ofincomingpackets:iptables-AINPUT-mstatistic--moderandom\--probability0.1-jDROP清理:#fortheincomingpackets:iptables-DINPUT-ms