草庐IT

socket_handle

全部标签

Java Socket TCP 最大段大小

是否有可能读出连接SYN数据包的TCP“MSS”选项header,或者它是否埋得太深了?谢谢 最佳答案 我很确定是后者。独立于平台的层使您免受TCP堆栈工作的影响。否则会降低Java的可移植性。如果您坚持,您可以选择通过JNI执行套接字I/O。 关于JavaSocketTCP最大段大小,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1863062/

flash - 有没有办法检测到 TCP 连接已被拒绝使用 flash.net.Socket?

有一个flash电影正在使用flash.net.Socket连接到服务器。但是可能会出现服务器未运行的情况,因此套接字连接到的端口上没有任何监听。当我执行“telnethostnameport”时,我得到一个快速连接被拒绝的错误。但是flash.net.Socket不会调用任何事件(见下文),而是静静地等待套接字超时。对我来说,重要的是尽可能减少检测不存在的服务器所需的时间,以便能够重新连接到集群中的另一台服务器。我尝试了以下事件,但无济于事:关闭连接io错误安全错误套接字数据在这种情况下,这些都不会被调用。有没有办法检测到TCP连接已被拒绝使用flash.net.Socket?

sockets - 生成百万tcp连接的最佳方式

我需要找到一种生成一百万个TCP连接的最佳方法。(越多越好,越少越好)。尽快机械:D为什么我需要这个?我正在测试一个nat,我想用尽可能多的条目加载它。我目前的方法是在一个虚拟的eth上生成一个子网,然后从那个虚拟的eth串行连接到实际的eth到lan到nat到主机。subnetnicfake----routeToRealEth----RealEth---cable---lan----nat---host.|| 最佳答案 一百万个并发TCPsession可能很困难:如果您依赖标准connect(2)套接字API来创建函数,您将使用很

.net - 使用 TcpClient 和 Socket 伪造慢速连接

我正在尝试编写一个集成测试来证明如果尝试连接到服务器的速度太慢,TCP客户端将正确超时。我有一个FakeServer类,它打开一个Socket并监听传入的连接:publicsealedclassFakeServer:IDisposable{...publicTimeSpanConnectDelay{get;set;}publicvoidStart(){this.CreateSocket();this.socket.Listen(int.MaxValue);this.socket.BeginAccept(this.OnSocketAccepted,null);}privatevoidCr

.net - Socket 异步发送和接收数据

我正在开发一种软​​件,可以从/向大量套接字发送和接收数据。它是高度异步的,因此我担心以下情况:N个线程试图将数据发送到同一个套接字。这是,N个线程同时调用BeginSend。澄清:我没有使用线程,但“系统”使用了它。文档就是这么说的:“当您的应用程序调用BeginSend时,系统将使用一个单独的线程来执行指定的回调方法”我已经完成此测试以了解它是否因SocketException而失败(因为我找不到相关文档):[Test]publicvoidDoIt2(){varbyteCount=0;varmanualEvents=new[]{newManualResetEvent(false),

sockets - 在三次握手后,TCP 窗口大小如何影响设置 SO_RCVBUF(使用 setsockopt)?

我接受一个带有默认值的TCP连接,我观察到SYN、ACK以64K的窗口大小和7的窗口比例因子发送。在3次握手完成并为我的应用程序交换一些控制数据包后,我使用setsockopt()将SO_RCVBUF设置为20K。我的问题是在这种情况下广告窗口何时会更新?由于sb_hiwat已经被修改为较小的值,我不应该马上看到一个窗口更新数据包吗?我看到的是广告窗口逐渐减少,需要大约4秒才能从大约7MB达到20K。 最佳答案 我完全不知道您为什么要减少接收缓冲区。一旦传输开始,您甚至可能无法设置,但无论如何,如果接收缓冲区中有数据,您当然不能指望

mysql - Perl Web 应用程序问题 : DBI connect failed: Can't create TCP/IP socket (10106)

我的PerlWeb应用程序有问题,该应用程序在Windows2008r2上的Apache2.2上运行,在CentOS服务器上使用单独的MySQL数据库。这是问题:我定期收到错误超时:DBIconnect('host=10.148.xxx.xxx:database=XXX','root',...)failed:Can'tcreateTCP/IPsocket(10106)当我说周期性时,这意味着大部分时间一切都按预期工作,但有时我会收到此消息并导致我的应用程序抛出错误页面。我在互联网上搜索了很多,发现了一些对我不起作用的推荐解决方案。首先,我认为我的数据库服务器无法访问,但使用MySQL企

linux - 我用 iptables 设置了 socket MARK 和 TTL,但是我不能从 getsockopt 读取它?

我在我的linux服务器上运行iptables-command。iptables-tmangle-Fiptables-tmangle-APREROUTING-mstate--stateNEW-jMARK--set-mark100iptables-tmangle-APREROUTING-jCONNMARK--save-markiptables-tmangle-APREROUTING-jCONNMARK--restore-markiptables-tmangle-APREROUTING-jTTL--ttl-set33这是我的服务器代码的一部分,使用iptables策略,我希望从我的sock

sockets - TCP 事务花费的时间越来越长

我有一台设备正在尝试通过TCP与其通信。这很简单,下面的(python)代码几乎正是我想要在实践中做的。应该发生的是我发送一个数据包来请求设备更改设置,然后它应该收到一个“操作完成数据包”(只是“1”)。我用C语言实现了下面的代码,结果相同,所以我确信这不是Python问题。importnumpyasnpimportsocketsock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)#Setsomevaluestosendtothedevicevalues=np.arange(0.2,1.0,0.02)sock.connect(('19

c++ - 使用 RAW_SOCKET 读取 TCP header 并管理 TCP 连接

我正在尝试获取C++11中TCP连接的TCPheader。通读现有的StackOverflow问题(here、here、here和here),我似乎必须打开一个RAW_SOCKET或编写一个Linux内核模块(LKM)来可以访问它。据我所知,打开原始套接字意味着处理整个TCP协议(protocol)(​​握手、窗口大小等)。有没有办法获取TCPheader并让内核管理TCP协议(protocol)(​​“手动”或使用某些框架)?我知道我可以使用libpcap来捕获数据包,但这意味着我的应用程序会以某种方式匹配TCP套接字中的传入数据包和从libpcap捕获的数据包。虽然这是一种可能的解