草庐IT

tcp_client

全部标签

c - 使用 TCP/IP 通过网络发送可变大小的数据包

我想通过内部网络在2个Linux操作系统之间发送可变大小的数据包。数据包的大小可变,其长度和CRC在header中指示,header也随数据包一起发送。大致像-structhdr{uint32crc;uint32dataSize;void*data;};我在应用层使用CRC来克服固有的limitationofTCPchecksums我遇到的问题是,dataSize字段本身有可能损坏,在这种情况下,我不知道下一个数据包从哪里开始?因为在接收方,当我读取套接字缓冲区时,我读取了n个这样的数据包。所以dataSize是我可以正确到达下一个数据包的唯一方法。我的一些想法是-如果发生CRC不匹配

windows - Wireshark 无法检测到通过 TCP 的本地进程通信

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭2年前。Improvethisquestion我正在使用procmon分析程序的行为。我可以看到该程序正在通过TCP在本地与另一个程序通信:这个“WindowsProcessMo

java - 在 TCP 网关中发送响应后向 Spring Integration 中的 serviceActivator 发送消息

我在TCP网关上构建的SpringIntegration应用程序运行良好。它接收到达TCP网关的请求消息,并将消息转发给serviceActivator以准备响应,并将响应发送给客户端。我想在发送给客户端后将消息保存到数据库中。我只是想知道是否可以在将响应发送给客户端后将消息转发给另一个serviceActivator。如果是,应该如何设置Spring配置?在这方面,我将不胜感激。这是spring上下文文件:谢谢 最佳答案 您可以添加作为output-channel为此.其中一个订阅者是存储对数据库的回复。另一个订阅者应该是没有ou

TCP 三向握手

在TCP三次握手连接过程中,客户端(发起连接的客户端)是否向服务器发送任何数据负载并在第三步中加入ACK数据包? 最佳答案 TCP握手中的最后一个ACK​​已经可以包含有效载荷。但是,这通常不会完成,因为应用程序首先调用连接,然后等待服务器回复或发送其第一个数据。由于内核不知道应用程序接下来要做什么,它会在连接内发送ACK,以便服务器尽快知道连接已建立。根据您的操作系统,可能会更改此行为并将ACK与第一个数据一起发送。在Linux中,这可以通过在连接之前明确禁用快速确认来实现:intoff=0;setsockopt(fd,IPPRO

javascript - Node.js OSC 模块发送 TCP

我正在使用OSC模块https://github.com/colinbdclark/osc.js但我正在努力让它通过TCP工作。我找不到任何使用TCP的示例,它们都是基于UDP的。我曾尝试在node.js中创建一个TCP客户端,但仍然难以将消息正确编码为OSC格式。我也相信它也必须用SLIP编码?我在这方面很新,所以要温柔。如果有人能给我指明正确的方向或提供一个关于在node.js中通过TCP发送OSC消息的示例,那就太好了谢谢!韦德附言。也很高兴使用osc-min模块。据我所知,您可以将消息编码为osc消息并存储在var中。但仍然无法让它在TCP上工作。在UDP上工作正常,但我的回复

http - wireshark中数据包的TCP ACK

我注意到在wireshark中我能够将4096字节的数据发送到HTTP网络服务器(通过上传文件),但是服务器似乎一次只能确认1460字节的数据。为什么会这样? 最佳答案 TCP段的大小限于MSS(最大段大小),它基本上是MTU(最大传输单元)减去包含IP和TCP开销的字节。在典型的以太网链路上,MTU为1500字节,基本IP和TCPheader各包含20字节,因此MSS为1460(1500-20-20)。如果您看到数据包的长度字段为4096字节,那么这几乎可以肯定意味着您正在传输主机上进行捕获,并且Wireshark在分段之前将大数

tcp - F# (TcpClient) 中等效的 netcat 片段

我在Unix中使用netcat工具执行此操作:$netcatgh05.geekhosters.com50001{"id":0,"method":"server.version","params":["1.9.5","0.6"]}在撰写本文时,结果是服务器回复我:{"id":0,"result":"1.0"}太棒了!现在我想在F#中做同样的事情。我试过这个:letrecasyncPrintResponse(stream:System.Net.Sockets.NetworkStream)=async{letresponse=stream.ReadByte()|>Char.ConvertFr

java - 如何将 Elastic search 5.4 连接到 java 中的 tcp?

这是我在使用Elasticsearch版本1.7.2时与tcp连接的java代码,它运行良好,但是当我在Elasticsearch5.4-3中使用相同的代码时,它没有显示ImmutableSettings的定义。Clientclient=null;try{Settingssettings=ImmutableSettings.settingsBuilder().put("client.transport.ignore_cluster_name",true).put("client.transport.sniff",false).build();System.out.print("true

我们可以使用默认的 linux TCP/IP 堆栈对 TCP 发送/接收使用零拷贝吗?

我们可以使用zero-copy吗?用于使用默认linuxTCP/IP堆栈的TCP发送/接收?众所周知,我们可以将套接字缓冲区从内核空间重新映射到RAW套接字的用户空间:https://www.kernel.org/doc/Documentation/networking/packet_mmap.txt例子:intpacket_socket=socket(AF_PACKET,SOCK_RAW,htons(ETH_P_ALL));//raw-socketsstructtpacket_req3req;setsockopt(packet_socket,SOL_PACKET,PACKET_RX_

c - C 中的多线程 TCP 服务器崩溃

我用C编写了一个多线程TCP服务器。当我针对它运行多个测试客户端时它崩溃了。我遇到了2种类型的崩溃,它们似乎都有相同的根本原因。附加的崩溃发生在main中。在另一种情况下,当它想要锁定以关闭套接字时,我在客户端部分崩溃了。有人可以告诉我崩溃的原因吗?TCP服务器代码:#include#include#include#include#include#include#include//inet_addr#include//forthreading,linkwithlpthread#defineBUFSIZE2048//TODO#defineMAXWORKERS10pthread_mutex