草庐IT

tcp_client

全部标签

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()我发送了两个命令。第一个用于登录,第二个用于打开圆顶。但是我有两个半圆顶。当我发送这个打

Android 在屏幕关闭时断开 tcp 连接

我的Android应用程序在前台服务中启动并保持TCP连接。该Activity使用StartService()来启动服务。该服务也在其自己的进程中启动。这是服务OnStartCommand://CodeisinC#usingXamarinbutregularJava/AndroidanswersareacceptablepublicoverrideStartCommandResultOnStartCommand(Intentintent,StartCommandFlagsflags,intstartId){base.OnStartCommand(intent,flags,startId

javascript - Nodejs 上的 TCP 流

我正在尝试监听一个发送连续数据流的tcp端口,该数据流由花括号{x,y,z}分隔。当我用Node运行这个脚本时,我得到第一个控制台输出“客户端已连接”,但脚本的其余部分挂起。我可以做些什么来显示到达的数据吗??vars=require('net');varclient=s.connect(2324,'10.12.1.22',function(){console.log('clientconnected');});client.on('data',function(d){console.log(d);});client.end(); 最佳答案

c# - 如何通过 TCP 和 protobuf-net 接收包

我正在编写一个使用ProtocolBufferC#的应用程序。我需要一些如何通过TCP发送和接收数据的示例。特别是,如何确定到达的是哪种类型的包裹。我有课:[ProtoContract]classPackage1{//fields}[ProtoContract]classPackage2{//fields}和写入流的方法privatestaticvoidSendPackage(Streamstream,Package1package){Serializer.Serialize(stream,package);}privatestaticvoidSendPackage(Streamstr