Articles of tcp

如何查找正在使用的临时端口数量?

我有一种情况,我正在陷入短暂的端口耗尽,然后引起exception。 我想节stream的连接,以避免这一点。 有没有办法来检测正在使用的临时端口的数量? 谢谢,埃里克

多个进程在同一个端口上侦听?

我想了解如何启动多个进程在Windows XP上侦听同一个TCP {IP,Port}对。 例如,我可以启动两个在端口371上侦听的ncat.exe程序。第二个启动时没有任何问题,接收到连接,而第一个没有。 一旦最后开始的过程终止,第一个接收它们。 netstat -a -n | find "LISTENING" TCP 0.0.0.0:371 0.0.0.0:0 LISTENING TCP 0.0.0.0:371 0.0.0.0:0 LISTENING 假设这是一个Windows(XP)的行为,它怎么可能是一个安全可靠的行为? 这意味着可以“重载”任何已经监听的端口,而不是获取通常的“已经使用的地址”错误消息,并且简单地绕过带有规则的防火墙,只是说“端口371上的任何传入的TCP连接被允许”。

如何检查打开的端口是TCP还是HTTP?

具体来说,我有一个Windows服务器(Windows 7),但netstat -an命令只显示端口是TCP还是UDP。 我认为这些是唯一的端口,但node.js似乎区分HTTP端口和TCP端口( 例如在链接页面的底部 )。 我目前在一个程序中使用node.js,它将在我的服务器上运行,并默认打开HTTP端口。 这些显示为netstat -an下的TCP端口。 有一个命令行技巧来区分此服务器上的开放端口是HTTP还是TCP? 我向我的信息技术办公室要求我在这个服务器上需要的端口,他们需要知道这些端口是TCP,UDP等。 如果有必要使用远程客户端,我有一个可以完成这项工作的Mac。

我怎样才能模拟TCP / IP错误?

在多层应用程序中,我需要模拟各种TCP / IP错误来testing一些重新连接代码。 有谁知道任何工具(基于Windows)我可以用于这个目的? 谢谢。

如何模拟“插入的networking电缆”(TCP / IP)?

我想testing一些networking错误的情况,但我没有networking电缆。 在同一个系统上运行的TCP客户端和服务器应用程序。 使用像TCPView这样的工具来closures连接,而不是拔掉networking电缆,这是否是一个现实的模拟? 更新: 断开连接使用TCPView导致10054错误,可以在应用程序代码中处理。 10054是WSAECONNRESET – 连接被同级重置。 这通常是连接另一端的更多问题。 我也从这个答案中了解到:“你可以拔掉一个networking,然后插回去,或者你的Wi-Fi笔记本电脑可能会丢失接收一秒钟,然后select回来。如果这样的可恢复的情况被处理,这将是令人沮丧的作为我们使用的所有程序的错误。“ (请参阅: 服务器sockets如何知道使用c + +在Windows中拔出networking电缆 )

由pid零拥有的TCP连接

我试图确保Windows服务程序(在.NET之上运行)正确地释放其networking连接。 在本地运行服务时,我知道它会在端口57300上创build大量的HTTP连接到本地主机。我使用netstat来监视它们是否正确释放。 我很惊讶地发现到这个端口的许多连接都属于“系统空闲进程”(PID = 0)。 在这里我们可以看到,只有三个连接属于服务程序(PID = 5012)。 其他所有都由PID 0所有。 我的主要问题是: 为什么会发生这种情况? 我需要关心吗? 但是我也想知道: 这是否意味着服务程序正确地释放了连接? 如果需要,这种连接是否会被重用? 在.NET ServicePointManager中做这样的连接“预留一个插槽”?

VB.net服务编程和使用TCP套接字

我有一个问题,我很好奇,如果有人可以帮我解决它。 我为VB.NET编写了客户端 – 服务器套接字编程教程。 然后我尝试使用服务而不是程序来实现它。 我了解它是如何作为一个程序工作,但是当我尝试将它移植到一个服务,它不起作用。 当我运行服务时,它立即启动并停止。 它从来没有build立连接。 不幸的是,我并不是那么棒的VB.net程序员,但到目前为止我对程序的快速开发非常喜欢。 这项服务的想法是: 电脑启动时运行 抓住电脑的名字 将PC的名称发送到服务器 一个。 服务器然后取名称并在数据库中查找它 湾 返回客户端机器的备份时间 然后,客户端机器进行当前时间的math计算,以及假设备份并将所有内容都放入ms中的时间。 然后在指定的时间通过运行dos命令启动程序来备份机器。 现在回答我在论坛中发现的一个常见问题。 为什么我不使用任务调度程序。 那么我确实使用任务计划,并有服务器控制时间机器的方式。 但是,有些电脑会进入hibernate状态,我认为这个hibernate状态影响了20%的机器。 没有这个hibernate状态不是睡眠模式,也不是hibernate状态。 电脑开着,他们对鼠标移动的反应非常快。 我创build了一个将时间写入C:\上的文件的服务,并且一直有效。 所以现在我决定在客户端机器上有一个服务,并与服务器通信。 我收集了很less关于创build服务和networking套接字编程的信息。 不幸的是,我还没有发现任何将两者联系在一起的东西。 我发现一个vb.net客户端服务器程序,做我想要的,但我想它作为一个服务,而不是一个程序。 我发现了一个使用PSEXEC从服务器上创build文件的临时解决scheme,但这个过程简直就是这么简单。 我做了下一个最好的事情,我去了微软的套接字库,并试图build立自己的服务基于什么是有道理的。 还是没有用。 如果你知道任何书籍,资源,有任何意见,等任何帮助,你可以给我将不胜感激。 谢谢您的帮助。 下面你会发现我的代码。 在这一点上,我所关心的是在客户端和服务器之间build立连接。 我可以重新找出其余的东西,并从那里撬动代码。 麦克风 这里是我一直在玩的服务器代码: Imports System.Net.Sockets Imports System.Net Imports System.Text Public Class BackupService Private Mythread As Threading.Thread Private clientThread […]

Windows上的PPP服务器

我们有一个解决scheme,一些硬件连接到Win 7机器上的COM端口,并与我们的Java应用程序交互。 硬件希望使用PPP服务器通过TCP / IP透明地连接到其他服务器。 有没有人有关于如何做到这一点的build议? 从Java应用程序启动一个操作系统本地PPP服务器,连接到COM端口? 这是怎么做的?

Windows上的高频数据监听器TCP过载7

我已经编码基于ac#的监听器来检索股市服务器的数据。 问题是,在通过WireShark监控之后,TCP窗口变满,这意味着接收主机(我)在处理传入数据时不够快。 我知道我的数据提供者已经禁用TCP确认,所以基本上他只是推送TCP包,看看他们是否仍然在那里:如果他发现他们没有经过一段时间的处理,连接就会closures。 我真的不知道该怎么做,我禁用了Windows 7的Auto Scale Tuning和Heuristics,但是没有任何效果。 我也注意到在Windows 7上没有办法设置TPC Windows Size(RWIN)。 我知道这不是一个编程相关的问题本身,但它是某种程度上,因为这是从代码的angular度来看是至关重要的。 编辑 一位响应者表示:“你的应用程序不能很快地将数据从数据中提取出来”,这是相当有趣的,但我并没有真正的想法来优化这个: private class IoContext { // The socket used for the operation: public Socket _ipcSocket; // The buffer used for the operation: public VfxMsgBlock _ipcBuffer; public IoContext(Socket socket, VfxMsgBlock buffer) { _ipcSocket = socket; _ipcBuffer = buffer; } } private void InitiateRecv(IoContext […]