草庐IT

tcp_probe

全部标签

tcp - 如何控制TCP数据包的源端口?

为了测试我的NAT实现,我想将TCP数据包从一个内部主机发送到两个不同的外部主机,并确保离开NAT的两个数据包流的源端口具有相同的源端口。如何控制源端口?wget为单独的TCP连接使用不同的源端口。 最佳答案 如果你不想自己编写代码,也许你想尝试带-p选项的netcat,例如:$nc-p31337www.google.com80这是手册页中对“-p”选项的解释:指定nc应使用的源端口,受权限限制和可用性限制。将此选项与-l选项一起使用是错误的。请注意,使用1024以下的任何端口都需要root权限。

node.js - 使用 mocha 测试 Node tcp 服务器

我有一个tcp服务器,我想用mocha测试它://Starttheserverrequire('net').createServer(function(socket){//Handleincomingdatasocket.on('data',function(data){...somestuffsocket.write("replywithsomeerrmessageifany");});});我一般用expressjs开发node应用,用于HTTPRestAPI,使用grunt-express-server模块,比如:grunt.registerTask('validate',['e

tcp - 从客户端正确终止 HTTP 连接

(原标题:《奇怪的TCP连接关闭行为》)我正在使用Wireshark对TCP连接过程进行故障排除。客户端打开与服务器的连接(我尝试了两个不同的服务器),并开始接收长数据流。在某个时间点,客户端想要停止并向服务器发送[FIN,ACK]数据包,但服务器并没有停止发送数据,它一直持续到自己的全流结束,然后发送自己的完成数据包[FIN,PSH,ACK].我想出了在客户端发送FIN数据包后继续从客户端套接字读取数据的方法。另外,客户端发送这个FIN包后,状态为FIN_WAIT,等待服务器的FIN响应...为什么服务器不停止发送数据并响应带有FIN设置确认的FIN数据包?我预计,在客户端发送FIN

tcp - Xilinx 的 microblaze IP 堆栈问题教程

我的团队正在使用microblaze,但我们在ip堆栈方面遇到了一些问题。我通常不是嵌入式程序员,但我想学习如何提供帮助。有没有关于IP栈的教程?这些是什么?它们是如何编程的?如何解决IP堆栈中的问题?基本上任何信息都会对我有帮助。提前致谢,欧麦。编辑:根据我们的电子工程师的说法,这就是问题所在:我们在Spartan-3ADSPS3D1800A电路上使用lwIP,同时使用BSB并在其上进行了microblaze。我们正在尝试使用提供给我们的EchoServer演示,它应该打开一个端口到telnet并回显从那里收到的任何消息,但它没有这样做。我们完全不知道那里出了什么问题。

c - 具有重定向输出应用程序的 Linux C TCP 套接字客户端/服务器

首先让我说这是操作系统类(class)的家庭作业,我不是程序员,尤其不是C语言的程序员。我已经做了一个星期了,我只是被卡住了,我需要帮助。我必须创建TCP客户端和服务器应用程序,其中将linux命令键入客户端,在服务器上执行,并将输出重定向回客户端。我理解这个概念,并且90%以上的工作正常。“ls”、“ls-lpq”、“catsomefile”、“mansomecommand”等命令都可以正常工作。我遇到麻烦的地方是不返回任何信息的命令,如“mkdirnewdir”(如果目录已经存在,它可以正常工作,因为我得到了响应)。这对我来说是全新的,但在我看来,我的问题是服务器recv命令阻塞,

C# 套接字 TCP 客户端/服务器

我有一个客户端和一个服务器,我试图通过我的本地网络(127.0.0.1)与彼此通话。首先,我启动“服务器”应用程序:publicoverridevoidStartListening(intport,IPAddressaddress){listenClient=newTcpListener(address,port);listenClient.Start();listenDelimiter=newIPEndPoint(address,port);if(listenThread!=null)listenThread.Abort();listenThread=newThread(newPar

c# - 我可以确定有多少数据在传入的 TCP 客户端流上排队(在 C# 中)吗?

我有一个连接到服务器的小型TCP客户端。在连接期间定期我希望能够查询流以查看有多少数据排队(发送方可能比接收方更快,所以我希望能够偶尔丢弃数据包)有什么方法可以确定在C#中的TCP客户端流上排队的数据量? 最佳答案 您可以使用TcpClient.Available的属性(property)。来自MSDN:Type:System.Int32Thenumberofbytesofdatareceivedfromthenetworkandavailabletoberead. 关于c#-我可以确定

C# TCP 服务器 : Is resend on the application level needed?

我是C#的新手,所以请多多包涵。我正在编写一个TCP客户端服务器应用程序,我必须确保客户端发送的所有消息都传送到服务器。客户端将发送数据,服务器将发回ACK(在应用程序级别实现)。我知道网络层确保(或抛出异常)端点计算机接收数据。我想知道的是,服务器计算机是否有可能从客户端接收数据,但数据没有传送到服务器应用程序(如果服务器应用程序没有问题)。感谢您的回答。 最佳答案 这不应该发生,但在高负载和低内存下会发生奇怪的事情。迎合这种方法的最佳方式是在来自客户端->服务器的消息中包含一个序列号。如果客户端没有收到ACK,它可以用旧的序列号

networking - UDP 或 HTTP over TCP/IP 用于简单的多人游戏

我正在构建一个多人游戏,玩家会同时被问到一个问题,他们必须选择一个答案。他们有几秒钟的时间来回答,当时间到了或每个人都回答完时,他们会被问到下一个问题。我计划在服务器端使用Java(或者nodeJS,如果我想学习一个新框架),在客户端使用JS(jQuery和jQueryMobile)。我以后也可能会构建native应用程序,所以我想保持该选项处于打开状态。我的问题是:您建议使用哪种服务器通信协议(protocol)?我正在考虑常规TCP(带有Ajax的HTTP)调用,因为延迟并不是真正的问题,但如果您提出其他建议,我准备好审查这个选择。非常感谢您的帮助 最佳

sockets - 硬件断开后 TCP 恢复连接

我有一个连续写入TCP套接字的程序。我想确保如果客户端和服务器之间的连接断开任何时间,都可以重新建立连接。现在,我可以断开连接,当write()函数循环时,它返回一个“连接被对等重置”错误,然后是ULLONG_MAX的值。然后,一旦我重新插入电线,write()就会不断返回“破管”错误。我试图关闭并重新打开连接,但我继续收到“连接被对等重置”错误。有谁知道我如何才能重新建立连接或在一开始就将其保持一定时间(或无限期)? 最佳答案 你不能在这里重复使用文件描述符,你必须从头开始-创建新的socket(2)并调用connect(2)在上