草庐IT

tcp_client

全部标签

tcp - LwIP Netconn API + FreeRTOS TCP 客户端缓冲区问题

我一直在尝试在STM32F4DISCOVERY板中使用LwIP修改tcp服务器示例。我必须编写一个不一定必须回复服务器响应的发件人。例如,它可以以100毫秒的频率发送数据。首先TCP服务器的例子是这样的:staticvoidtcpecho_thread(void*arg){structnetconn*conn,*newconn;err_terr;LWIP_UNUSED_ARG(arg);/*Createanewconnectionidentifier.*/conn=netconn_new(NETCONN_TCP);if(conn!=NULL){/*Bindconnectiontowel

tcp - Protocol Buffer Wireshark 插件

我正在为googleprotocolbuffer寻找一个wireshark插件。我找到了这个GPBWireshark插件http://code.google.com/p/protobuf-wireshark/显然只有UDP……是否有适用于TCP的wiresharkGPB插件? 最佳答案 您可以改用Wireshark附带的Protobuf解析器。从Wireshark3.2.0开始,现在可以配置*.proto文件以更精确地解析序列化的Protobuf数据(例如gRPC)。从该版本开始支持基于UDP端口解析Protobuf数据。您还可以编

windows - 当内核收到数据包或套接字读取后,Windows TCP 堆栈是否发送 ACK?

我知道在大多数基于UNIX的系统中,内核一收到数据包就会发送ACK。但想知道Windows操作系统中的行为是否也相同。(Windows7)。 最佳答案 该行为在所有操作系统中都是相同的。它由RFC793定义。当(或者,在延迟ACK的情况下,之后)数据被TCP接收时执行ACK。它与应用程序何时读取无关。 关于windows-当内核收到数据包或套接字读取后,WindowsTCP堆栈是否发送ACK?,我们在StackOverflow上找到一个类似的问题: https

tcp - Apache Camel 和 Netty 作为 TCP 粘性平衡器

我正在尝试通过ApacheCamel和Netty在多个后端服务器上平衡TCP连接。我想将每个到后端的连接映射到每个到Camel的连接。像这样:客户端连接到Camel。Camel选择一个后端服务器并连接到它。客户向Camel发送内容。Camel将其发送到关联的后端服务器。后端服务器回复Camel。Camel将其发回给客户。...我的协议(protocol)是有状态的,客户端和Camel之间的连接将保持打开状态。我还需要从后端开始并发送到客户端的消息。到目前为止,还不错。这工作得很好。当我连接一个连接到同一后端服务器的新客户端时,我的问题就开始了,看起来Camel重用了已经打开的连接,对于

linux - 我可以使 TCP Keep-Alive 对称吗?

我有一个服务器(Ubuntu上的nginx),它有listen80so_keepalive=4m::;。我有一个Windows客户端,我用http://msdn.microsoft.com/en-us/library/windows/desktop/dd877220(v=vs.85).aspx设置了TCPKeep-Alive超时。.我将服务器超时设置为4分钟,客户端超时设置为5分钟。我现在注意到,使用Wireshark捕获它们之间的数据是,4分钟后服务器发送TCPKeep-Alive,然后一分钟后(从开始开始的5分钟)客户端发送自己的TCPKeep-Alive。为什么在收到服务器Kee

Python:通过从不同类/线程内建立的 TCP session 发送

我有一个python应用程序,它有两个主要功能。它通过UDP监听器线程从远程源接收流数据(我们称之为“传入数据流”)。还有一个TCP监听器线程,用于监听来自另一个远程源的命令。协议(protocol)中实现了各种命令,但我只实现了“发送配置数据”(它确实有效)和开始/停止流数据。此开始/停止流数据应将(编码的)“传入数据流”转发给外部TCP方。我是Python的新手,目前为止我已经“破解”了所有的东西。基本上是两个线程,一个不断地接受UDP流数据(速率:每秒10条消息),另一个监听和处理TCP请求。我一直计划的方法是在TCP请求流数据开始时设置一个标志,当这个标志为True时,处理传入

sockets - 现有的 TCP 中继解决方案

我有一个场景需要使用TCP中继。在开始编写自定义内容之前,我想看看是否有人知道可以为我做这件事的现有软件。我在不同的网络上有2台设备无法相互连接。我们称它们为网络A和B。这些设备需要通信,它们可以通过网络C上的“中间人”中继进行通信。A可以连接到C,B可以连接到C。C不能连接到A或B.A->C思路如下:A建立到C的TCP连接并简单地等待当B需要A的东西时,它会建立到C的TCP连接。C从B读取数据并用它响应A已经打开的连接。A处理数据并响应C,C转发给B。是否有现成的工具可以做到这一点? 最佳答案 如此处解释:https://serv

python - 如何被动嗅探 TCP/HTTP get 请求

我正在寻找被动嗅探HTTPGET请求(使用Rpi)来跟踪网络设备的流量。到目前为止,我有以下代码,我相信它会嗅探所有数据包,过滤掉应该包含HTTP请求的TCP数据包:#Packetsnifferinpython#ForLinux-Sniffsallincomingandoutgoingpackets:)#SilverMoon(m00n.silv3r@gmail.com)importsocket,sysimportsysfromthreadingimportRLockfromstructimport*#Convertastringof6charactersofethernetaddres

python - 如何使用 python 导出 TSVal 和 TSecr TCP 选项字段?

我正在尝试为python网络项目开发一个小型概念验证,但我遇到了障碍。谁能解释我如何从python操作系统中导出TSVal和TSecr值?我正在使用Scapy看看我是否可以作为客户端连接到一个简单的python服务器程序。下面的语句是我有点卡住的地方。TCP(flags='S',options=[('Timestamp',(TSval,TSecr))])因此,如果有人可以推荐一种算法或python库来计算TSval和TSecr,将不胜感激!提前致谢! 最佳答案 我觉得这两个值应该自己算出来赋值给packet。scapy有可能会自动赋

c# - 通过 TCP 套接字丢失一个字节

所以我想做一个聊天室。我使用TCP套接字发送所有信息。但是当我发送一个字节数组时,接收套接字的缓冲区丢失了最后一个字节。它是0因为字节数组是255大,所以剩下的字节是0。我已经通过Debug模式检查,在发送数据包时,数组是正确的。但是在套接字完成接收的断点处,它丢失了最后一个字节。为什么会发生这种情况?我看到另一个线程说你必须停止线程直到套接字完成接收,但我正在使用AsyncCallBack,据我所知,当套接字完成接收时调用它。每个数据包中的第一个字节也应该是字符串大小(以考虑额外的空字节)。数据包类:publicclassPacket{publicbyte[]Buffer;publi