草庐IT

tcp_client

全部标签

tcp - 什么是 TCP 方面的 ISCL

什么是TCP方面的ISCL 最佳答案 代表IntegratedSecureCommunicationLayerProtocolsforSecureMedicalImageManagementSystems.ISCLisasecuritylayerwhichmanagessecurityfunctionbetweenpresentationlayerandTCP/IPlayer.ISCLmechanismdependsonbasicfunctionofasmartICcardandsymmetricsecretkeymechanism

c# - 禁用 NIC 或阻止所有 tcp 连接

我想知道是否可以使用.NET来禁用某个网络接口(interface),或者作为替代方案,删除所有现有的TCP连接(来自整个系统),然后禁止进一步创建。我问这个是因为我想编写一个小型C#实用程序来监视系统并在整体速度低于阈值时阻止网络(或至少TCP连接)一段时间。然后我希望它在特定分钟数后恢复连接。据我所知,在.NET中监控NIC吞吐量相当容易。但是我不知道是否可以阻止整个NIC或TCP连接。也许使用P/Invoke和WMI? 最佳答案 我找到了这个:Howtokillanynetworkconnection.有一个人写了一整个类来终

Java 套接字和 TCP 调整

我尝试用Java开发文件传输应用程序,将小程序作为客户端,将独立的Java应用程序作为服务器(在数据中心托管的专用机器上)。我使用DataOutputStream/DataInputStream来传输双方的数据。当我发送大量数据时,带宽变化很大:首先一切正常,然后TCP流在40-50秒内卡住,没有任何传输,然后再次开始。当我使用Ethereal查看tcp流时,我看到重复的ack、快速重传和tcp重传。但我不认为问题出在Java中:我在FileZilla中使用FTP传输时遇到了同样的问题。但是...当我尝试使用netcat(netcat客户端+netcat服务器)传输数据时,一切都很好,

tcp - 如何减少 MODBUS TCP 的 ARP 刷新导致的 TCP 延迟

我们有一个应用程序以定义的速率定期发送TCP消息(使用MODBUSTCP)。如果在设定时间内未收到消息,则会发出警报。但是,每隔一段时间,接收消息似乎会有延迟。调查表明,这与正在刷新的ARP缓存有关,导致重新发送TCP消息。IP堆栈提供者告诉我们这是TCP的预期行为。问题是,这是IP堆栈的预期行为吗?如果不是,其他堆栈如何在IP/MAC地址转换不可用期间工作如果这是预期的行为,我们如何才能减少这段时间内TCP消息的延迟?(永久ARP条目已尝试过,但不是最佳解决方案) 最佳答案 在我上一份工作中,我曾在一家制造路由器和交换机的公司工作

c - 如何使用 Windows 套接字读取 TCP 窗口大小?

现在我正在开发一个用C编写的轻型客户端/服务器应用程序,以检查许多计算机通过交换机使用TCP将数据发送到服务器的一些问题。我需要读取一些流量控制变量,例如窗口大小、重传数据包的数量等。在Linux中,我使用getsockopt来完成,我在这里阅读的方法:http://linuxgazette.net/136/pfeiffer.html但我在Windows套接字API中找不到等效的方法。 最佳答案 如果您使用的是Vista或更高版本,那么GetPerTcpConnectionEStats()可能会满足您的需求。看这里:http://m

networking - 自定义 TCP 服务中缓冲区使用和调整的一些技巧是什么?

我最近一直在研究许多网络库和框架,例如libevent、libev、FacebookTornado和Concurrence(Python)。我在他们的实现中注意到的一件事是使用应用程序级别的每个客户端读/写缓冲区(例如Tornado中的IOStream)——甚至HAProxy也有这样的缓冲区。除了这些应用程序级缓冲区之外,还有操作系统内核TCP实现的每个套接字缓冲区。我可以理解应用程序/库对读取缓冲区的使用,我认为:应用程序/库从内核缓冲区读取到应用程序缓冲区,然后应用程序对数据执行某些操作(例如反序列化其中的消息)。但是,我对写缓冲区的需要/使用感到困惑。为什么不只写入内核的发送/写

sockets - SO_RCVBUF 怎么会小于 TCP 接收窗口呢? (Windows XP)

我有一个在WindowsXP上使用TCP的应用程序。当我使用SO_RCVBUF选项调用getsockopt时,它报告8192字节。但是,Wireshark显示该应用程序通告64K的接收缓冲区。这怎么可能?要有64K的接收窗口,难道不需要64K的缓冲区吗?是否有两种不同的缓冲区? 最佳答案 我正在研究这个,我认为SO_RCVBUF和TCP窗口不一定是同一件事。如果你看http://msdn.microsoft.com/en-us/magazine/cc302334.aspx在“WindowsNT和Windows2000套接字体系结构”

c# - tcp/ip 接受不返回,但客户端返回

服务器:vxworks6.3调用通常的套接字、绑定(bind)、监听,然后:for(;;){client=accept(sfd,NULL,NULL);//passclienttoworkerthread}客户:.NET2.0TcpClient构造函数连接到采用字符串主机名和int端口的服务器,例如:TcpClientclient=newTcpClient(server_ip,port);当服务器在Windows(nativeC++)中编译和执行时,这工作正常。间歇性地,TcpClient的构造函数会返回实例,不会抛出任何异常,但是vxWorks中的accept调用不会返回客户端fd。t

c++ - 为单元测试创​​建 TCP 网络错误

我想在测试期间产生各种网络错误。我在Linux上直接在C++中使用Berkely套接字API。我在Boost.Test中的另一个线程中运行模拟服务器,该线程在本地主机上监听。例如,我想在连接期间创建一个超时。到目前为止,我已经尝试不在我的模拟服务器中调用accept并将积压设置为1,然后建立多个连接,但似乎都成功连接。我认为,如果积压队列中没有空间,如果不是超时,我至少会收到连接被拒绝的错误。如果可能的话,我想以编程方式完成这一切,但我会考虑使用外部的东西,比如IPchains,在测试期间故意将某些数据包丢弃到某些端口,但我需要自动创建和删除规则,这样我就可以在我的Boost.Test

linux - 传出 TCP 端口匹配监听端口

我遇到了一个奇怪的偶然事件,我的结果lsof|grep40006制作java29722appsrv54uIPv6711357550t0TCPlocalhost:40006->localhost:40006(ESTABLISHED)一般我看java30916appsrv57uIPv6711438120t0TCPlocalhost:43017->localhost:40006(ESTABLISHED)箭头两侧的端口不匹配。虽然lsof产生了前一个结果,但我无法启动尝试监听端口40006的应用程序,即使套接字配置为SO_REUSEADDR。这会发生吗?应该吗?uname给出:Linuxfem