草庐IT

socket_handle

全部标签

sockets - 当 FIN-WAIT-2 时间用完时,主动关闭器将进入什么状态?

当FIN_WAIT2时间用完,最后一个FIN还没有从另一边传来时,activecloser的下一个状态是什么?TIME-WAIT或CLOSED?我们知道在linux系统中,可以在文件/proc/sys/net/ipv4/tcp_fin_timeout:mantcp(7)中设置FIN-WAIT-2tcp_fin_timeout(integer;default:60;sinceLinux2.2)ThisspecifieshowmanysecondstowaitforafinalFINpacketbeforethesocketisforciblyclosed.Thisisstrictlyav

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

actionscript-3 - 使用 AS3 ServerSocket 和 Socket 连接两个客户端

我正在尝试使用AIR创建一个简单的应用程序,该应用程序使用套接字将两个客户端相互连接起来。我知道ServerSocket类可用于监听TCP连接,您可以使用Socket类发出TCP连接请求。事实上,一个连接到自身或另一个测试应用程序的简单测试应用程序在本地主机上运行良好:服务器类:privatevarserver:ServerSocket;privatevarclients:Vector.=newVector.;publicfunctioncreate(){server=newServerSocket();server.bind(8888);server.addEventListener

c# - Socket服务器数据接收困惑

编写一个小型C#应用程序,它可以接受客户端连接并进行相应处理。我为此使用异步tcp套接字,因为我想允许多个客户端同时向服务器发送数据。现在我不确定如何处理回调函数中接收到的数据。下面是数据接收回调的代码。每次接收到数据时,它都会打开输出文件并将数据附加到其中。我想在保存文件之前获取一些文件名/说出一些客户端名称。我怎么做。我正在发送以“|”结尾的客户端名称字符来区分其他数据,但我如何处理并将其保存到数据接收回调的变量中?任何帮助都会非常有用。publicvoidOnDataReceived(IAsyncResultar){StateObjectstate=(StateObject)ar

python 2.7.8 : Socket - Client Server Data loss in TCP socket

我刚开始使用python中的套接字。我使用以下内容在本地主机中设置了基本的客户端-服务器安排:对于服务器:fromsocketimport*s=socket(AF_INET,SOCK_STREAM)s.bind(('',6969))s.listen(10)c,a=s.accept()whilec.recv(100000)!='':printc.recv(100000)对于客户:fromsocketimport*s=socket(AF_INET,SOCK_STREAM)s.connect(('localhost',6969))whileTrue:say=raw_input('InputT

Windows RIO socket Registered I/O 发送延迟 RIOSend

我使用RIOSend通过分布式网络发送部分TCP数据。Nagle已关闭以达到最小延迟。当目的地是本地时,一切看起来都不错,但如果是真正的远程(大约40毫秒ping)目的地,我会看到这个问题:当我发送部分数据时,下一部分延迟,无论RIOSend标志-RIO_MSG_DONTNOTIFY、RIO_MSG_DEFER还是0。看起来像是在等待来自另一方的ACK发送....当我使用简单发送时,一切都很好。请帮我解决这个问题! 最佳答案 尝试添加一个RIO_MSG_COMMIT调用;RIO_MSG_DEFER将延迟您的数据,RIO_MSG_DO

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:无法接收”,然后销毁客户端并创建一个新的客户端进行重传-这总是有效的。