问题标签 [tcplistener]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
765 浏览

c# - 如果任务管理器中的 Mem Usage 不断增加,如何知道是否是内存泄漏

我写了一个小型服务器类,它基本上是一个 TcpListener 包装器和 ThreadPool 线程生成器。

线程运行 Server::ProcessMessage() ,它执行一些来回发送消息的工作,然后在结束时退出。

但就在退出函数之前,我还调用了 TcpClient.GetStream().Close(),然后调用了 TcpClient.Close()。我不使用任何 Mutex 或 ManualResetEvent WaitHandles。

测试了客户端和服务器,一切正常,除了在任务管理器中它显示每个 Server::ProcessMessage() 上的 Mem Usage 不断增加。即使所有客户端应用程序都已断开连接并关闭,内存使用量仍然存在,而不是减少。

服务器作为 Windows 服务运行。

我怎么知道这是内存泄漏的迹象还是只是垃圾收集器没有完成它的工作(还)?

谢谢。

编辑:我想我找到了“内存泄漏”的原因。我的 Server::ProcessMessage() 中有 Console.WriteLine()。如果有一种更简单的方法来检查内存问题,它仍然会有所帮助。

0 投票
2 回答
5483 浏览

c++ - 如何在 C++ 中使 recv() 函数超时?

我有一个在服务器上运行的程序与在客户端上运行的另一个程序通信。它们都来回发送数据和文件。

我注意到,只要有一个 socHandler.read() (读取套接字上的数据的函数),它就会卡住等待数据到达。

这就是函数的样子。

变量 sock 是 SOCKET 类型,是在别处定义的全局变量。如何设置选项或使此 recv() 调用仅针对此函数调用非阻塞且不影响任何其他函数?

我相信这是它在等待数据时卡住的地方,我想让它在 X 秒后超时。

0 投票
1 回答
126 浏览

vb.net - VB.NET 对象初始化不起作用?

好的,这可能会令人头疼,但为什么这段代码不起作用?

这不会与错误“ Overload resolution failed because no accessible 'New' accepts this number of arguments.”一起编译
问题是,我必须将其声明为New因为否则我会得到一个空引用异常......
有人知道我做错了什么,或者应该做不同的事情吗?
谢谢!

0 投票
1 回答
4094 浏览

php - 在 PHP 中设置 TCP 侦听器

我们目前正在使用一个系统,该系统通过 TCP 接收传入的 JSON 请求并使用 JSON 进行响应。目前我已经在 PHP 中设置了我的套接字:

这目前有效,服务器响应方法请求。但是,某些方法会像这样响应以确认调用,但稍后也会响应我所追求的结果。所以我真正需要的是一个 TCP 监听器。谁能告诉我如何像上面那样使用 fsock 编写 TCP 侦听器?

谢谢

0 投票
1 回答
2178 浏览

c# - 异步 CTP AcceptTcpClientAsync 方法

我正在试验 C# 异步 CTP 库和套接字服务器。我正在尝试使用AcceptTcpClientAsync添加到System.Net.Sockets.TcpListener类中的扩展方法来监听连接。我的代码如下所示:

但是,如果我在它处设置断点,AddConnection它永远不会被命中。我正确使用它吗?

0 投票
1 回答
6537 浏览

vb.net - 如何处理 TCPListener “现有连接被远程主机强行关闭”

我有一个使用 TCPListener 和异步方法 BeginAcceptTCPClient 的 tcp 服务器:

我的问题是,我很少在 HandleAsyncConnection 方法中遇到异常:“现有连接被远程主机强制关闭”就在 EndAcceptTCPClient 方法中。此时,TCPListener 似乎停止了监听。问题是我不能轻易地测试它,因为它只发生在远程测试虚拟机上,并且每 24 小时左右才发生一次。如果我知道如何使用测试客户端重新创建错误,我将能够解决这个问题。Wireshark 显示在异常发生时正在发送的重置 [RST] 数据包。所以我要么需要知道如何处理异常,要么需要知道如何用测试客户端重新创建问题。

0 投票
4 回答
18143 浏览

c# - 接受多个 tcp 客户端的最佳方式?

我有一个客户端/服务器基础架构。目前他们使用 TcpClient 和 TcpListener 在所有客户端和服务器之间发送接收数据。

我目前所做的是当接收到数据时(在它自己的线程上),它被放入队列中以供另一个线程处理以释放套接字,以便它准备好并打开以接收新数据。

但是我想知道是否有更好的方法来做到这一点。例如,如果有 10 个客户端,并且他们都想同时向服务器发送数据,那么一个会通过,而其他所有客户端都会失败。或者如果一个客户端连接速度很慢并且占用了套接字,那么所有其他通信都将停止.

有没有办法可以同时接收所有客户端的数据,并在下载完成后将接收到的数据加入队列中进行处理?

0 投票
2 回答
1585 浏览

c# - 在 C# 中协商 WebSocket(Chrome 连接到 Unity C# TCP 客户端)

我一直在尝试设置一个 Unity3D 组​​件,该组件与 Javascript 客户端协商 WebSocket 连接。

我有一个线程化的 TCPListener (c#),它处理 HTTP 请求并尝试协商握手,尽管它似乎默默地失败了。客户端在我发送响应后不久关闭连接。

我一直在遵循这个网站上的说明:http: //deusty.blogspot.com/2010/09/websocket-draft-76-algorithm-example.html

这是套接字日志

我正在使用以下算法生成响应

您能提供的任何帮助将不胜感激?

0 投票
1 回答
13750 浏览

.net - TcpListener:如何监听所有接口上的特定端口?

构造 a 有三个重载TcpListener

在一个特定的端口上监听,但在所有可用的接口上。有一个重载可以做到这一点,但它被标记obsolete.

TcpListener在 .NET中的所有接口上侦听特定端口的新首选/非过时方法是什么?


为了帮助起见, anIPEndPoint是:

这就是第三个重载。而 anIPAddress作为它的构造函数:

  • 一种byte[]
  • 一个Int64
  • 一个byte[]和一个Int64
0 投票
2 回答
701 浏览

c# - TCP 调试错误 C#

是我拥有的代码,它运行良好,但是当我调试它时,我收到消息:

指定的参数超出了有效值的范围。参数名称:端口

任何人都可以帮忙吗?