草庐IT

tcp_client

全部标签

c# - 从 TCP 套接字读取数据未获取所有数据

我正在开发C#和android客户端/服务器应用程序。Android正在向C#发送一条消息,我可以看到它正在发送正确的数据,但C#并未收到所有数据。下面是我在C#中的代码TcpListenertcpListener=newTcpListener(IPAddress.Any,serverTCPPort);tcpListener.Start();while(true){tcpClient=tcpListener.AcceptTcpClient();stream=tcpClient.GetStream();reader=newStreamReader(stream);writer=newSt

python - OpenFlow 1.3, Python RYU, OFPMatch to all non-tcp packets

我希望使用Python-RYUController为OpenFlow交换机创建匹配规则。该规则应匹配任何非tcp数据包(ip协议(protocol)6)。据我所知,tcp连接的匹配规则是:match=parser.OFPMatch(in_port=in_port,eth_dst=dst,ip_proto=6)self.add_flow(datapath,1,match,actions)我需要补充规则。谢谢 最佳答案 您可以为TCP数据包创建一个具有更高优先级的规则,并为所有数据包创建另一个具有较低优先级的规则。这样所有*TCP数据包

python - python中的多个TCP连接

我正在尝试为聊天程序编写服务器。我希望服务器与每个聊天用户建立tcp连接。服务器有没有办法同时拥有多个tcp连接而无需为每个连接创建套接字?如果是,怎么做? 最佳答案 没有。与UDP套接字不同,TCP套接字的工作是面向连接的。无论数据写入套接字,“神奇地”似乎从另一端的套接字中以数据流的形式出现。为此,两个套接字都维护一个虚拟连接,一个状态。除其他事项外,状态定义了连接的两个端点——两个套接字的IP和端口号。因此,单个TCP套接字只能与另一端的单个TCP套接字通信。另一方面,UDP套接字在每个数据包的基础上运行(无连接),允许您使用

networking - 通过 TCP 处理消息

我正在尝试使用开始前附加的每条消息的大小通过TCP发送和接收消息。比如说,前三个字节是长度,后面是消息:举个小例子:005Hello003Hey002Hi我将使用此方法来处理大消息,但因为缓冲区大小将是一个常量整数,比如200字节。因此,有可能无法收到完整的消息,例如而不是005Hello我得到005He也可能收到完整的长度,例如我在消息中得到2个字节的长度。因此,为了解决这个问题,我需要等待下一条消息并将其附加到不完整的消息等。我的问题是:我是唯一一个在将消息相互附加、附加长度等方面遇到这些困难的人吗?以使其完整,或者这真的是通常我们需要如何处理TCP上的各个消息?或者,有没有更好的

c++ - Boost::asio TCP 服务器——从客户端读取消息

我正在尝试使用boost::asio创建我的第一个TCP服务器。服务器将监听客户端,如果它收到消息“MESSAGE_SEND_A:”,它应该将以下消息发送回客户端:“A|A|A|A|A|A”。如果它收到消息“MESSAGE_SEND_B:”,那么它应该相应地向客户端发送另一条消息:“B|B|B|B|B|B”。现在,我一直在研究BoostTCP服务器教程,它或多或少是清晰的:编辑:代码根据评论重写#include#include#include#include#include#include#includeusingboost::asio::ip::tcp;classtcp_connec

tcp - 通过 TCP 将 JPEG NSData 发送到 Python 服务器

我有一个带有iOS客户端的Pythontcp服务器。它能够发送和接收数据,我遇到的唯一问题可能是编码。我正在尝试通过TCP将JPEG发送到Python服务器并将数据写入服务器上的JPEG。jpeg不断损坏。客户端Obj-C代码:[self.stillImageOutputcaptureStillImageAsynchronouslyFromConnection:videoConnectioncompletionHandler:^(CMSampleBufferRefimageDataSampleBuffer,NSError*error){NSData*imageData=[AVCaptu

.net - 不一致的 TCP 保活频率

我在.NET应用程序中配置了一个TCP套接字,每15分钟发送一次Keep-Alive数据包。请注意,在.NET世界中,只能使用低级Socket.IOControlAPI来操作此参数(而不是简单地启用Keep-Alives)以传递以表示native结构的字节为单位。观察下面传出Keep-Alives的Wireshark捕获:一切都在12:35到14:05之间按计划进行(每15分钟发送一次Keep-Alives),但之后,发送这些数据包的频率开始发生巨大变化(24分钟、15分钟、29分钟)分钟,1小时4分钟)。在此期间,除了这种不一致之外,应用程序的行为完全符合预期。这段时间过后不久,Ke

ios - Swift:TCP套接字保持事件状态

我正在开发一个iOS应用程序(使用Swift),它使用到TCP服务器的TCP连接。目前,每当我发送内容时,连接都会自动关闭。我想保持连接打开/事件,直到我手动关闭它。来自thisObjective-C-basedquestion我发现在Objective-C中可以这样做:#include...CFDataRefsocketData=CFReadStreamCopyProperty((__bridgeCFReadStreamRef)(stream),kCFStreamPropertySocketNativeHandle);CFSocketNativeHandlesocket;CFData

sockets - Swift 中的 TCP 套接字

我正在尝试使用GCDAsyncSocket快速编写一个TCP套接字客户端,但我遇到了很多问题。在我的代码中,我有一个NSTextField(称为框),这是我的代码:进口cocoaclassAppDelegate:NSObject,NSApplicationDelegate{@IBOutletweakvarwindow:NSWindow!@IBOutletweakvarbox:NSTextField!letbsocket=GCDAsyncSocket(delegate:AppDelegate.self,delegateQueue:dispatch_get_main_queue())fun

c# - 如何在 TCP 客户端中读取未知数据长度

我是C#的relativity新手。在我的TCP客户端中,有以下函数将数据发送到服务器并返回响应:privatestaticTcpClienttcpint=newTcpClient();//AlreadyinitiatedandsetupprivatestaticNetworkStreamstm;//AlreadyinitiatedandsetupprivatestaticStringsend(Stringdata){//SenddatatotheserverASCIIEncodingasen=newASCIIEncoding();byte[]ba=asen.GetBytes(data