草庐IT

TCP_CORK

全部标签

networking - TCP Reno 中的慢启动阈值

比方说,超时发生在慢启动阶段结束时。届时,窗口大小将减半。之后,它进入拥塞避免阶段而不是再次进入慢启动阶段。在这种情况下,慢启动阈值是多少?是慢启动的结束还是拥塞避免阶段的开始? 最佳答案 对于一个新的连接,接收窗口大小(rwnd)从A开始,拥塞窗口(cwnd)从B开始。在没有ACK的情况下,发送方不能发送超过cwnd和rwnd的最小值的字节。发送方每次收到ACK时都会增加cwnd。超时发生时,cwnd为X,rwnd为Y,cwnd和rwnd的最小值为Z。因此,超时后,慢启动thershold将是Z/2,或至少1段,cwnd将是1段。

c++ - GMainLoop 和 TCP Listen 线程阻塞

我需要你的帮助。我有主循环GMainLoop和附加的超时回调:MainLoop=g_main_loop_new(NULL,FALSE);g_timeout_add_seconds(Interval,TimeoutCallback,(gpointer)Rec);g_main_loop_run(MainLoop);然后监听套接字:intControlServer::GStart(){intlistenfd;GIOChannel*in;socklen_taddr_len;listenfd=TcpListen(host,port,&addr_len);in=g_io_channel_unix_

c# - 如何在 C# TCP/IP 中的 Socket.Connect 中传递用户名和密码

我有一台机器,我需要连接到它以将数据检索到文本文件中。为此,我有机器的IP地址、端口号、用户名、密码。现在我正在尝试连接到机器但我不知道在哪里传递要在我的C#代码中连接的机器的用户名和密码。请帮帮我。 最佳答案 评论已经给出了答案,总结一下:对于TCP协议(protocol),重要的只是如何连接A和B来实现数据传输。任何超出成功连接的事情都取决于您使用的内部应用程序协议(protocol)您需要服务的描述以及发送和接收的内容您从问候语“这里是客户”开始。这就是我假设的如何传输用户名和密码的方式。例如,在您的“这里是客户”消息之后,服

c - TCP header 和校验和

我需要说明在计算校验和时正确使用TCPheader和伪header。伪header是否需要紧跟在IPheader之后和真正的TCPheader之前?这是我所拥有的:IPHeader*iph=(IPHeader*)(packet+ETHER_SIZE);//ETHER_SIZE==14ipLen=ntohs(iph->totLen)*4;TCPPseudo*tcps=(TCPPseudo*)(packet+ETHER_SIZE+ipLen);TCPHeader*tcp=(TCPHeader*)(tcps+sizeof(TCPPseudo));这是我的标题:typedefstruct__a

c# - 如何通过 TCP 通过 Internet 将 Motion JPEG 发送到 Windows Phone

我想使用全局ip89.232.123.122从我的电脑发送动态JPEG到WindowsPhone手机。如何与那个手机建立连接并通过连接推送mjpeg? 最佳答案 要发送多媒体(如动态JPEG),请使用UDP而不是TCP。在发件人端使用此代码:UdpClientsendFrame=newUdpClient();//yourimageisimg:Bitmapimg=newBitmap("pic.png");//alwayssendimagewhile(true){MemoryStreammemory_Stream=newMemorySt

tcp - 通过多路径 TCP 发送数据

在我的两台debian主机上安装MPTCP后,我想知道如何使用MultiPathTCP发送数据。谢谢 最佳答案 确保您使用mptcp内核重新启动(sysctl-a|grepmptcp应该返回一些结果),然后联系(例如通过iperf)支持mptcp的服务器,例如http://multipath-tcp.org.然后,您应该能够通过cat/proc/net/mptcp查看创建的TCP子流的数量。 关于tcp-通过多路径TCP发送数据,我们在StackOverflow上找到一个类似的问题:

tcp - AIMD TCP 协议(protocol)

考虑通过传输协议(protocol)以1kB数据包传输长流,该传输协议(protocol)(仅)使用AIMD来控制窗口大小。最初,窗口大小为10kB。每次窗口打开到20kB时,窗口中的最后一个数据包被丢弃,它在一个往返时间后被检测到,并重新传输。发送了多少数据包,包括丢弃的第一个数据包? 最佳答案 答案是165包10+11+12+13+14+15+16+17+18+19+20=165如窗口将每次添加一个pkt,直到它得到一个删除pkt的消息。 关于tcp-AIMDTCP协议(protoc

ios - iOS/Objective-C 中的 TCP 客户端 - 检查开放端口

我在SO上搜索了一些关于AsyncSocket的问题,但没有任何答案。我觉得我想做的事情很简单,所以它会很糟糕......我已经尝试过非GCD版本,但也没有任何乐趣。我需要能够扫描一系列主机以查找特定的开放TCP端口。不幸的是,我无法控制服务器代码让它使用Bonjour宣布自己。所以,我只能进行强力扫描,并尝试连接到那个端口——如果我收到“连接被拒绝”,那么我知道要继续……所有这些让我想到了AsyncSocket,我认为它是完成这项工作的正确工具。使用作者的示例,我有一个基本的工作示例,但不完全是。就像他的示例一样,我只是为了简单起见而使用主队列。问题是,关于是否调用委托(delega

windows - windows tcp 堆栈的缓冲区限制,特别是使用 winsocket

在开发通过winsocket进行通信的Windows应用程序时,我遇到了以下情况:Alice发起与Bob的tcpsessionBob接受,session建立。Bob正在按顺序发送大量数据(~1000MB)。Bob继续做其他事情。与此同时,Alice慢慢读取数据,每次读取N个字节(其中N是Alice缓冲区的大小,它只分配一次,因为数据在每次读取之间写入文件。此缓冲区已分配由应用程序)。调试时,我发现Bob的send()从不阻塞,即使我在第一次读取之前暂停了Alice。问题是,如何保证整个数据(~1000mb)可供Alice读取?是否有限制此缓冲区长度的已知/可配置参数?

Python TCP/IP - 发送命令

我有望远镜,它由西门子PLC管理。这个望远镜很远。我有一组可以通过TCP/IP发送来执行的命令。此命令采用ASCII格式。这是脚本的简单示例:importsocketTCP_IP=''TCP_PORT=s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.connect((TCP_IP,TCP_PORT))s.send('GLLG0\r\n')s.send('DOSO0\r\n')data=s.recv(1024)printdatas.close()我发送了两个命令。第一个用于登录,第二个用于打开圆顶。但是我有两个半圆顶。当我发送这个打