草庐IT

Flask-Sockets

全部标签

sockets - 是否可以在 TCP 中发送具有未确认序列号的可变大小的段?

假设我们正在使用TCP发送一个数据包,并且我们发现该数据包已被网络丢弃。时间到期后,我们尝试重新发送数据包。与此同时,我们从应用层获得了一个新的段,我们现在正尝试发送两个段,旧的和新的,其序列号尚未被确认。现在数据包大小大于旧大小。假设旧数据包已成功交付,但其确认丢失。我通过一些步骤来解释这个:-1.(fromsender)packet[SEQ=100,SEG_LEN=3,SEG="ABC"]----(Toreceiver)--->Receivergotit2.(fromreceiver)packet[ACK=121]-----(Tosender)---->Packetlost(Sen

sockets - 计算机上的 TCP 服务器。未建立连接

我在同一个网络上有2个设备,我想在同一个网络上通过TCP进行通信。设备1是在virtualbox上运行Debian操作系统的计算机,另一台是android平板电脑。有趣的是,我的平板电脑通过应用程序充当服务器没问题。同一网络上的任何其他设备都可以连接到平板电脑。另一方面,计算机并不是那么合作。在我的计算机上运行netcat-l-p6667应该允许传入连接通过端口6667上的TCP与我的计算机通信,但事实并非如此。Netcat打开了一个套接字,但无论如何我都无法连接到它。是否有根本原因说明为什么这不起作用?所有设备都在同一个路由器下。我也禁用了计算机上的防火墙。

sockets - C# TCP 服务器/客户端对象传输/序列化/反序列化越来越多地使用内存帮助需要

首先,提前感谢所有可能提供帮助、批评和建议的人。语言:C#目标:用于图像和对象传输的TCP服务器/客户端。服务器场景:服务器将监听客户端连接。客户端连接后,服务器将从套接字接收byte[]数据Server会将byte[]转换成(Type)object。然后服务器将使用此(类型)对象来更新WPF图像控件客户端场景:客户端将创建准备传输的对象。客户端会将对象转换为存储的字节[]。客户端将连接到服务器并通过套接字发送对象问题:我不确定为什么这个进程每秒增加60-100MB的内存使用量。我想知道Byte[]分block是否是一个值得的解决方案(如果是的话,请给我指点资源或提供解决方案)感觉它没

sockets - Mule ESB CE 3.5.0 TCP 重新连接策略

我正在使用MuleESBCE3.5.0,发现我认为是TCP连接上的资源泄漏。我正在连接VisualVM并检查内存。我看到它随着时间的推移而增加而从未减少。我的场景是我有消息被发送到Mule,Mule做它的事情,然后分派(dispatch)到远程TCP端点(通常在同一个盒子上)。我所做的不是启动将从Mule的TCP出站端点接收消息的程序。所以没有什么监听Mule发送的消息。我按如下方式配置我的TCP连接器:我的问题是:当流无法发送到TCP出站端点时,消息会发生什么情况?消息是否保存在内存中的某个位置,一旦TCP连接器与远程端点建立连接,是否所有累积的消息都会爆发并被分派(dispatch

sockets - RPC clnt_call 立即发送 tcp [FIN, ACK]

我在VM上的CentOS6.5中编程,用C编写代码我打电话client_status=clnt_call(clnt,NFSPROC3_GETATTR,(xdrproc_t)xdr_GETATTR3args,(caddr_t)&args,(xdrproc_t)xdr_GETATTR3res,(caddr_t)&result,TIMEOUT);其中clnt是我创建的客户端,一次使用clnt_call并将其保留用于下一次调用(而不是为每次调用创建一个新的)我仍然没有意识到触发它的原因是什么,但偶尔我会收到一条消息“RPC:无法接收”,然后销毁客户端并创建一个新的客户端进行重传-这总是有效的。

sockets - TCP 服务器被只有 "connect"而没有发送任何数据的客户端淹没

我已经使用.NETTcpListener创建了一个TCP服务器。我担心它会如何通过发送大量类似于DoS类攻击的虚假连接来滥用它。我创建了一个小型控制台应用程序来重复启动与服务器的连接(仅“连接”而不传输其他类型的数据)。“最大允许并发连接数限制”是服务器中的一项设置,旨在防止服务器不堪重负,这一设置立即得到满足。这使我的服务器几乎毫无用处,因为它无法接受新连接,除非其他假连接断开连接。这证明我的担心不是空穴来风。我们有什么办法可以从应用程序级别防止这种情况发生吗?我想要求客户端在连接时发送一种token,服务器会拒绝不发送的连接,但我认为TCP不会那样工作。依赖外部解决方案是唯一的方法

javascript - chrome.sockets.tcp.secure 和 TLS 握手未按预期工作

我正在使用新的套接字API(Chrome.sockets.tcp)开发Chrome应用程序。我已经能够成功地让所有HTTP请求正常工作,没有任何问题。我遇到的问题是使用TLS握手的HTTPS登录。我们创建了一个VisualStudioC#(RestRequest)应用程序。我们可以使用HTTPS进行连接。使用Wireshark,我注意到成功的通信是使用TLSv1实现的。我尝试了多种解决方案,并引用/试验了以下链接,并试图提出一个解决方案。https://groups.google.com/a/chromium.org/forum/#!msg/net-dev/U2ecAARKvAg/WI

sockets - 使用 TCP 发送大文件

我的客户端程序需要向服务器程序发送一个大文件。在客户端连接到服务器并且服务器接受它之后,客户端指定它将要发送的文件的名称。现在,客户端需要使用TCP发送文件。我知道如果文件的大小很小(小于1k字节?),我可以使用对套接字编程中的“发送”函数的一次调用直接发送它。但是,如果我的文件很大,比如大约100MB,是否同样有效?我想知道“发送”本身是否处理将大数据分成数据包并可靠地发送它们的任务,还是应该由我来处理?谢谢。 最佳答案 我正在尝试类似的东西&我的客户端代码如下所示staticvoidsend_file(char*ipAddres

sockets - Netty 服务器如何知道客户端何时断开连接?

我正在制作满足以下条件的Netty服务器:当服务器收到来自其客户端的数据包时,服务器需要执行事务处理A。事务完成后,如果仍然连接,则返回消息给客户端。如果没有,做一些回滚过程B。但我的问题是,当我发送回客户端时,服务器不知道它是否仍然连接。在发送消息之前,我已经尝试按照代码找出它的连接。然而,即使客户端已经关闭了它的套接字,它也总是成功。仅当客户端进程被强制终止时才会失败(例如Ctrl+C)finalChannelFuturecf=inboundChannel.writeAndFlush(resCodec);cf.addListener(newChannelFutureListener

sockets - 如何将 STunnel 用于 TCP 服务器/客户端,其中客户端在端口 39000 上发送

我有一个TCP服务器/客户端,其中服务器监听端口5000,客户端传出端口为39000。我在服务器上设置了Stunnel:[custom]accept=6000connect=5000...所以它接受端口6000上的连接并将其重定向到5000(我的Server.c正在监听)。我尝试通过以下方式在客户端上设置STunnel:[custom_cl]accept=39000connect=192.168.1.3:6000...因此它接受来自端口39000的任何数据并将其发送到端口6000的服务器(假设它位于192.168.1.3)。我的客户有这段代码:client_addr.sin_famil