草庐IT

TCP_Client

全部标签

tcp - 通过 SLIP 接收的数据包和从以太网接收的数据包之间的格式有区别吗?

当通过SLIPping一个uip设备时,我在uart中得到一个数据包,看起来像这样:uip_buf[0]0x45uip_buf[1]0x0uip_buf[2]0x0uip_buf[3]0x3cuip_buf[4]0x1uip_buf[5]0x20uip_buf[6]0x0uip_buf[7]0x0uip_buf[8]0x80uip_buf[9]1uip_buf[10]0xb5uip_buf[11]0x51uip_buf[12]0xc0uip_buf[13]0xa8uip_buf[14]0x1uip_buf[15]0x1uip_buf[16]0xc0uip_buf[17]0xa8从代码来

c# TCP 服务器客户端线程问题

问题来了我有以下场景编码。在连接到客户端1的线程A中运行的TCP监听器在线程B中运行的第二个TCP监听器连接到多个客户端,每个客户端都在不同的线程中。我的意思是一旦客户在线程B中接受,为进一步创建一个不同的线程客户端等待从“TCP”获取数据的处理听众B"在while循环中我想做的和我面临的问题是,我想将客户端1从线程1收到的数据传递给线程2中的客户端。我相信正在发生的事情,因为当我在线程1中从客户端1获取数据时我在线程1中,所以当我尝试在线程2中向客户端发送数据时,我总是得到连接错误。这是线程问题吗?我怎样才能克服这个问题?编辑这是一个windows窗体应用程序两个TCP监听器都在同一

networking - TCP 窗口更新方案

在我们的应用程序中,我们使用在8081中运行的apachetomcat网络服务器。它在16:42:06.87IST时间范围内收到来自客户端的POST消息。它在200毫秒后通过窗口大小为62356字节的ACK数据包进行确认。几秒后(3-5秒),它也向客户端发送类似的ACK数据包,但作为65535字节(缓冲区为空)的“TCP窗口更新”数据包。然后它发送200OK这意味着成功处理...我的问题:什么情况下“TCPWindowUpdate”数据包会从服务器发送到客户端。这是否意味着网络服务器或应用层需要大约3-5秒来读取其TCP接收器窗口中的65535-62356(~3100)字节,并且在读取

C: Linux 到 Windows:通过 TCP 发送文本文件在 Windows 端产生不精确的副本

我正在编写一个系统来收集Mac上的软件/硬件信息,并将其放入基于Windows的SQLite3数据库中。架构如下:Mac上的代理-收集数据,然后使用SSL通过Internet将其发送到DMZ中的小型Linux服务器(到目前为止,这部分工作正常)Linux服务器连接到内部Windows服务器并发送相同的数据在第二点出现了问题。Linux服务器连接到Windows一台,好的,Windows收到数据,并以正确的名称保存它,但数据本身有些拙劣。这是一个例子。这是条目在OSX/Linux中的样子:MicrosoftWord—Windows8VMwareFusion7.1.1条目在Windows上

当超过 250 个并发连接时,Ruby SSL TCP 服务器卡住

我正在用ruby​​开发一个SSLTCP服务器,并针对多线程客户端对其进行测试。当客户端线程数小于190时,服务端没有问题,所有的消息都被正确接收。但是一旦我将客户端的线程数增加到195以上,就会出现两个问题:问题1:服务器端异常ECONNABORTED/usr/local/rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/openssl/ssl.rb:232:in`accept':Softwarecausedconnectionabort-accept(2)(Errno::ECONNABORTED)from/usr/local/rvm/rubies/ruby-

sockets - 32 位 linux 上的同时 tcp/ip 连接数

我有一个关于实现负载平衡器或执行TCP/IP的TCP/IP服务器程序的具体问题。由于端口号是16位,因此在任何给定时间,单个Linux机器上最多只能有65536个端口。而TCP/IP需要一个端口号才能与外界对话。1)当客户端建立连接时,选择一个临时端口号。2)当监听套接字的服务器接受连接时,分配一个端口号。因此,据我所知,在任何给定时间,一台给定机器上最多只能存在65536个TCP/IP连接。那么为什么一些或大多数负载均衡器声称有200,000个或更多并发连接?有人可以解释一下吗?关于负载均衡器,一旦负载均衡器将请求转发到它后面的其中一台服务器,负载均衡器是否可以以某种方式向它传递一些

tcp - 无法收到 Mirth 的 Ack

我有一个测试TCP应用程序,它将向Mirth发送HL7消息并从Mirth接收确认。问题是我可以将消息发送到我使用连接器类型=TCPListener创建的MirthChannel,但Mirth不知何故没有发回确认到我的应用程序。我发现有时响应成功生成,有时响应成功发送。但我无法收到来自Mirth的任何ack消息。我是Mirth的新手,我不知道如何设置接收和发送ack的channel消息。请帮助我。谢谢。 最佳答案 我知道有2个主要设置可以配置Mirth中的ACK消息。编辑channel-->来源选项卡-->来源设置-->响应-->将下

java - java游戏使用TCP和UDP

我正在制作一个实时java游戏供我的friend们在LAN上玩。该游戏在客户端-服务器架构中运行,并且它现在对所有内容都使用UDP(用于位置更新和加入游戏)。当我和我的friend通过Internet测试游戏时,一些重要的UDP数据包丢失了(比如生成敌人的数据包)。所以我的问题是,制作实时多人游戏的最佳解决方案是什么?我可以将UDP用于必要的更新数据包,将TCP用于诸如登录、断开连接、聊天等数据包吗?我可以在同一个端口和套接字上使用这两种协议(protocol)吗? 最佳答案 只是想帮助那些偶然发现其他答案中给出的令人难以置信的糟糕

c - TCP_INFO tcpi_lost 和 tcpi_retrans 之间的区别

据我了解TCP_INFOtcpi_lost参数是TCP丢包的计数器。TCP_INFOtcpi_retrans参数是TCP重传计数的计数器。如果是这样,数据包丢失和数据包重传计数之间有什么不同。TCP中的数据包丢失会导致数据包重传。我说得对吗? 最佳答案 tcpi_lost计算所有丢失的口袋,意思是如果你发送了10个口袋并且在转换过程中丢失了5个口袋,它会告诉你你有5个口袋丢失,只有当口袋发送成功才会被计算在内(意思是计数会减少)tcpi_retrans计算所有再次重新发送的数据包,因此如果您有10个数据包,其中5个丢失但只有3个数据

java - 两个 android 设备之间的 TCP 连接(即使使用 NAT)

我正在做一个允许用户在线玩的android应用程序。目前,我使用TCP服务器:当两个人连接时,服务器负责在两个客户端之间转发数据包。我想用带有谷歌应用引擎的javaservlet替换我的服务器。这个新服务器将仅用于连接两个玩家。它会以这种方式工作:玩家A打开服务器套接字,然后将连接详细信息发布到服务器。当玩家B想与A对战时,他向服务器询问A的端口号,然后他直接连接到A。问题是如果玩家A在NAT后面,我不确定它是否会起作用。当玩家A打开服务器套接字时,这会打开其192.168.x.y地址的一个端口,但它是否向盒子请求端口转发?我认为它不会...所以两个问题:即使有NAT或防火墙,是否可以