草庐IT

tcp_probe

全部标签

sockets - Linux内核TCP Socket修改

有什么简单的方法可以修改tcpsocket参数吗?例如:Server_program正在使用eth0和10.0.0.1,它无法重新启动,我需要在eth1和192.168.0.1上重新创建套接字。我知道还有其他一些不重要的问题,但我现在正在寻找的是在内核中“即时”修改套接字的可能性。感谢您的任何建议。 最佳答案 打开新套接字,执行任何需要的步骤使其连接并进入相同状态,然后使用dup2()。将旧文件描述符转换为新文件描述符的克隆。 关于sockets-Linux内核TCPSocket修改,我

c++ - 如何创建自己的 TCP 连接(只需发送 TCP 请求并获得结果)?

我想连接到某个服务器并查看特殊端口是否打开,所以我想发送带有SYN标志的TCP数据包并从服务器获取结果数据包并检查结果标志以确定端口是否打开是开放的、封闭的还是过滤的?现在我的问题是如何创建此TCP连接(我只需要2路连接而不是3路握手)请告诉我如何创建此特殊连接以及如何检查特殊标志以及如何创建我的TCP连接我想要的旗帜。 最佳答案 你没有说你在哪个平台上,但你需要搜索的术语是“原始套接字”。 关于c++-如何创建自己的TCP连接(只需发送TCP请求并获得结果)?,我们在StackOver

C# TCP 文件传输 - 图像半传输

我正在开发一个TCP文件传输客户端-服务器程序。目前,我能够完美地发送文本文件和其他文件格式,例如.zip,并且服务器端的所有内容都完好无损。但是,当我传输.gif时,最终结果是一个与原始大小相同的gif,但只有部分图像显示,就好像大部分字节丢失或在服务器端写入不正确。客户端向服务器发送一个1KB的header数据包,其中包含文件的名称和大小。如果准备就绪,服务器将以OK响应,然后创建一个与要发送的文件一样大的fileBuffer。下面是一些代码来演示我的问题://Serversidemethodsnippetdealingwithdatabeingsentwhile(true){//

networking - ppp、tcp、rtp 和 tls 中哪个是面向连接的协议(protocol)?

这里就不多说了——我想问下协议(protocol)有哪些:点对点协议(protocol)TCP实时协议(protocol)TLS...都是面向连接的,哪些是可靠的? 最佳答案 您列出的协议(protocol)处于不同的通信层,因此直接比较不一定有多大意义。TLS和RTP位于传输层之上,而PPP是链路层协议(protocol),它们通常(并非总是)不关心某种意义上的连接,例如TCP可以(尽管链路层协议(protocol)可能提供服务以确保帧不会丢失并按顺序到达)。长话短说,您列表中只有TCP是面向连接的协议(protocol)。TLS

tcp - 恢复相同的 TCP 连接

我有一个多进程TCPServer,它为每个客户的请求创建(通过linux上的fork())一个进程(子进程),同时它正在监听其他连接的请求。所以我在客户端和服务器之间有一个一对一的映射。假设一个客户端崩溃了......是否有可能将它重新连接到同一个子服务器进程?换句话说......是否有可能恢复一个失败的预先存在的连接或者重新连接的尝试创建一个新连接(并且然后是一个新的子服务器进程)?谢谢... 最佳答案 在(fork者)不了解(fork者的)内部session相关细节的情况下,您必须假设外部细节足以确定哪些远程连接与哪些本地连接端

android - 美国运营商(或与此相关的任何运营商)的空闲 TCP 超时

据我了解,运营商会删除所有闲置几分钟的tcp连接。这就是为什么如果您想保持从客户端到后端的持久tcp连接,则必须双向发送keep-alive。我的问题是:保持活跃的时间间隔应该是多少? 最佳答案 需要明确的是,除了端点之外,没有人可以删除TCP连接。这是因为IP网络协议(protocol)是网络所见的全部,并且在设计上是无状态的。然而,构成“终点”的可能不是您所期望的。运营商可以在两者之间放置透明代理或带NAT的路由器,此时它们确实需要保持状态才能正确转发数据。NAT是您最大的问题,因为它更常见,并且如果路由器由于暂时看不到流量而决

ruby - tcp 客户端无法从 eventmachine 接收数据

有代码,客户端:require'rubygems'require'benchmark'require'socket'i=0TCPSocket.open"127.0.0.1",8080do|s|s.send"#{i}thsending",0ifline=s.getsputslineendend服务器:require'rubygems'require'benchmark'require'eventmachine'classHandler客户端无法打印任何东西 最佳答案 它是客户端中的s.gets和服务器中的send_data"send_

TCP握手过程

我有TCP客户端应用程序并尝试连接位于远程计算机的服务器。我能够连接它。当我发送名为Hello数据包的消息时,服务器应响应数据和时间信息。但令我惊讶的是recv在客户端返回0。因为我无法在服务器上调试代码。我不确定,但可能在客户端收到错误的数据包时编码消息格式hello数据包时出现问题服务器正在关闭连接我想确认以下序列的含义是我从wireshark那里得到了以下信息srcIP------>dstipSYNdstip----->srcipSYN,ACKsrcIP------>dstipACKsrcIP------>dstipcontinuationornonhttptraffic"Hel

Ruby TCP 套接字永远不会得到回复

我使用TCP连接并像这样发送一些数据:beginsession="mysession"socket=TCPSocket.new(tcpaddress,port)socket.setsockopt(Socket::IPPROTO_TCP,Socket::TCP_NODELAY,1)puts"sendingtosocketHELO"+sessionsocket.write('HELO'+session)putssocket.readsocket.closerescueException=>myExceptionputs"Exceptionrescued:#{myException}"end

tcp - 无需任何 KeepAlive() 方法的 TCP 持久双工

我需要为事件通知实现持久的TCP双工连接。客户端注册事件,服务器将此事件通知所有订阅者。问题是,TCP连接在10分钟后关闭。我知道可靠的session。关闭和不活动超时。我需要的是在客户端和服务器之间实现某种“始终打开的连接”。客户端一发现连接丢失就会重新连接。但在使用TCP连接时可能很难注意到某些连接丢失。我能够发明某种具有长接收和不活动超时的解决方案。如果服务器仍然在线并使用某种KeepAlive()方法连接,客户端会在短时间内“脉冲检查”服务器。我希望在我的服务契约(Contract)中没有KeepAlive()方法的情况下获得解决方案。有什么想法吗?//米罗