草庐IT

TCP_CORK

全部标签

c - 通过 TCP 端口发送多条消息

我有一个创建套接字(服务器和客户端程序)并使用该套接字通过TCP端口发送消息的程序。我的问题是,如何交换多条消息?每次我发送一条消息时,端口都会关闭,我需要使用另一个端口来发送另一条消息。例如,我要从客户端向服务器发送2个号码,服务器需要回复我发送号码的总和。我如何通过同一个端口发送未定义的号码甚至2个号码?这是代码(非常标准的东西):服务器:#include#include#include#include#include#includechar*Itoa(intvalue,char*str,intradix){staticchardig[]="0123456789""abcdefgh

tcp - SCTP 中的多流与在 TCP 中打开多个连接有何不同?

SCTP中的多个流如何驻留在单个关联中,而在TCP中我们必须涉及多个端口。是SCTP,多流是否也以任何方式涉及端口。RFC6525说只有65k+流是可能的,这似乎等于可能的端口数。 最佳答案 使用多个流并不需要使用多个端口,一个SCTP关联只有一个端口(或一个本地端口和一个远程端口),但可以使用多个流。使用多个流的目的是不需要按顺序传递的消息可以在不同的流上发送,从而避免不必要的队头阻塞。如果您将SCTP用于电信信号,则可以在不同的流上发送独立电话调用的消息。特定调用的所有消息都将按顺序传送,但一个调用的消息重传不需要延迟另一个调用

tcp - C#检测TCP客户端断开连接

我正在使用C#窗口应用程序在TCP多线程服务器上工作,我正在尝试检测客户端机器是否关闭并与服务器断开连接。我已经阅读了一些帖子并有了一些想法:Howtodetermineifthetcpisconnectedornot?Instantlydetectclientdisconnectionfromserversocket但我不确定在哪里调用函数IsConnected我的代码如下:publicBindingListtabletList=newBindingList();privateSocketsocket_Server=null;privateThreadmyThread=null;pr

发送从串行端口接收的数据的 C# TCP/IP 客户端 - 建议

目前我正在开发一个应用程序,它通过串行端口从RFID读卡器接收数据。数据,之后数据应该通过TCP/IP发送到服务器。我已经让这两个东西都起作用了,但不是同时起作用。我可以从卡上读取ID,也可以向服务器发送一些文本。但我想征求您的意见,让这两者协同工作的最佳解决方案是什么。目前我在两个类中使用TCP/IP和串行使用。我从主类创建两个类的对象并启动一个从串行端口读取数据的线程。我应该尝试这样的事情吗?在类里面,我只会创建串行使用对象并调用处理读取的线程。在该读取线程内,我将调用一个新线程,该线程将打开TCP/IP连接并发送它从串口接收到的数据。另一种类似的方法会从主类打开两个连接,但它会从

tcp - 在 win CE 中监听 tcp 事件

设备每秒发送事件,从192.168.101.4到192.168.101.2:4002。我需要监听和解析这些事件,但我已经在监听部分失败了。有人可以解释一下,如何使用有限的紧凑框架选项来做到这一点吗? 最佳答案 我自己解决了,但感谢PaulH提供的有用教程。有同样问题的程序员:///Porttouse///countofbytestoreturn///abyteArraywithreceiveddatapublicstaticbyte[]readEvent(intport,intsize){byte[]bytes=newbyte[si

Java TCP/IP 套接字发送字节对齐的数据

我很难通过套接字发送字节对齐的数据,因为我一直遵循的示例使用PrintWriter类将所有内容转换为字符串表示形式。我想发送3个带有页眉和页脚的浮点值。这样消费者就知道每次传输要读取多少字节。我的客户发送如下内容://Addaheader:floattype=params[0];if(type==TransmitService.ACC_TYPE)out.print('a');elseif(type==TransmitService.GYR_TYPE)out.print('g');elseout.print('u');//unknown-wtf?hasn'thappenedyetbutj

java - 如何提高这个简单的基于 Java 的 TCP 服务器应用程序的吞吐量?

我正在编写一个非常基本的TCP服务器。服务器跟踪它从客户端接收到的状态。我documentedthemessageformat和publishedthesource.在2009MacBookPro(2.26GHzCore2Duo,4GBRAM)上,吞吐量非常低——如果服务器和客户端在同一台机器上运行,则为1MB/s。我正在寻找显着提高吞吐量的方法。服务器和客户端的主循环都相当简单。与服务器建立连接后,客户端创建UpdateOneMessage实例,并将其byte[]表示形式发送到服务器。来自Client.run():for(inti=0;iClient.send()序列化消息并写入Da

c# - 为什么我的 TCP 应用程序在快速发送时会丢失一些数据包

我正在使用异步套接字在C#中为每个服务器应用程序编写多个客户端。连接上的每个客户端发送10个项目。问题是,当快速启动大量客户端时,似乎每个客户端发送的项目少于10个,有时它什么也不发送,服务器只记录它们的连接。数据包结构是前4个字节是一个int,其中包含数据大小。这是服务器代码的一部分。每个连接的客户端都有自己的接收缓冲区,BeginReceive应该写入该缓冲区。privatevoidRecieve(IAsyncResultiar)//Calledwhensocketreceivessomething.{Socketserver_conn=(Socket)iar.AsyncState

c++ - 如何提取消息的长度信息并从 TCP 字节流中只提取那么多的消息?

我正在尝试通过C++中的Socket发送消息。我已经阅读了很多与此相关的堆栈溢出问题,但仍然无法弄清楚它是如何工作的。假设我正在将以下字符(M、a、r、t、i、n)发送到本地主机服务器,人们建议您可以使用4个字节作为长度(即32位,以便它可以处理一条消息到4GB长度)。我在客户端做了同样的事情,但仍然不知道如何在服务器端弄清楚我是想只接收开始的3个字节(M,a,r)还是最后3个字节(t,i,n)我的数据。我正在发布我的代码,请主要在服务器端帮助我,如果能写几行与代码相关的代码,将不胜感激。Clientsidecodestd::vectoruserbuffer(20);std::cout

c# - Windows 上的 tcp 服务器 c#,tcp 客户端 python raspberry pi

我正在做我的项目,我必须在我用c#在Windows上编写的tcp服务器和我在raspbian(raspberrypi)上用python编写的客户端之间进行通信。我的服务器工作正常(在本地机器上用c#客户端测试),但是运行时客户端数据没有发送到服务器端。C#代码:staticvoidMain(string[]args){IPAddresslocalAdd=IPAddress.Parse(SERVER_IP);TcpListenerlistener=newTcpListener(localAdd,PORT_NO);Console.WriteLine("Krenuosaradom...");