问题标签 [sockets]

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 投票
10 回答
1419 浏览

windows - 免费网络监视器

我在集成两种产品时遇到了麻烦,其中一种是我的,它们似乎没有说话。所以我想确保他们正确沟通。我环顾四周寻找网络监视器,发现了 TCP Spy。这有效,但一次只显示对话的一侧(它必须在本地运行)我理想地希望同时看到双方 - 但你不能运行 TCP Spy 的两个副本。

我已经点击了 Sourceforge,但似乎什么都没有跳出来——我是一名 Windows 开发人员,我没有安装 perl。

我发现了其他几个是残废的,完全没用,所以我想知道 SO 人用什么来观看 TCP 对话?

顺便说一句 - 'not-written-here' 产品不是浏览器。

0 投票
7 回答
16476 浏览

c++ - 如何从 udp-socket (C/C++) 获取您自己的(本地)IP 地址

  1. 您有多个网络适配器。
  2. 将 UDP 套接字绑定到本地端口,而不指定地址。
  3. 在其中一个适配器上接收数据包。

你如何获得接收数据包的适配器的本地 IP 地址?

问题是,“接收适配器的 IP 地址是什么?” 不是我们从发件人那里得到的地址

称呼。

0 投票
7 回答
2463 浏览

c# - 代理服务器的 C# 性能(与 C++ 相比)

我想创建一个简单的http 代理服务器,它对http 标头进行一些非常基本的处理(即,如果标头x == y,则执行z)。服务器可能需要支持数百个用户。我可以用 C#(很容易)或 C++(更难)编写服务器。但是,C# 版本的性能是否与 C++ 版本一样好?如果不是,性能差异是否足够大以至于用 C# 编写它没有意义?

0 投票
5 回答
95097 浏览

c# - WSACancelBlockingCall 异常

好的,我的代码抛出了一个奇怪的异常,这一直困扰着我多年。

MSDN 对此并没有太大帮助:http: //msdn.microsoft.com/en-us/library/ms741547 (VS.85).aspx我什至不知道如何开始解决这个问题。它每天只抛出 4 或 5 次,而且从不在我们的测试环境中。仅在生产地点和所有生产地点。

我发现很多帖子都在询问这个异常,但没有关于导致它的原因以及如何处理或防止它的实际明确答案。

代码在单独的后台线程中运行,方法开始:

然后我运行一个循环,将所有新连接作为作业放在单独的线程池中。由于应用程序架构,它变得更加复杂,但基本上:

从那里开始,pool它拥有自己的线程,分别处理自己线程中的每个作业。

我的理解是 AcceptTcpClient() 是一个阻塞调用,并且 winsock 以某种方式告诉线程停止阻塞并继续执行..但是为什么呢?我该怎么办?只是捕获异常并忽略它?


好吧,我确实认为其他一些线程正在关闭套接字,但它肯定不是来自我的代码。我想知道的是:此套接字是由连接客户端(在套接字的另一侧)关闭还是由我的服务器关闭。因为此时此刻,每当发生此异常时,它都会关闭我的侦听端口,从而有效地关闭我的服务。如果这是从远程位置完成的,那么这是一个主要问题。

或者,这是否只是 IIS 服务器关闭了我的应用程序,从而取消了我所有的后台线程和阻塞方法?

0 投票
4 回答
3310 浏览

multithreading - 如何最小化 tcp 服务器应用程序中使用的线程数?

我正在寻找人们在实现为客户端 TCP(或 UDP)请求提供服务的服务器应用程序时使用的任何策略:设计模式、实现技术、最佳实践等。

出于这个问题的目的,我们假设请求的生命周期相对较长(几分钟),并且流量对时间敏感,因此响应消息时不能接受任何延迟。此外,我们既要为来自客户端的请求提供服务,又要与其他服务器建立自己的连接。

我的平台是 .NET,但由于无论平台如何,底层技术都是相同的,因此我有兴趣查看任何语言的答案。

0 投票
10 回答
6281 浏览

delphi - 在 Delphi 中进行异步套接字编程的惯用方法是什么?

人们在 Delphi 中编写网络代码使用 Windows 风格的重叠异步套接字 I/O 的正常方式是什么?

这是我之前对这个问题的研究:

Indy组件似乎完全同步。另一方面,虽然 ScktComp 单元确实使用 WSAAsyncSelect,但它基本上只异步 BSD 风格的多路复用套接字应用程序。您在单个事件回调中被转储,就好像您刚刚从 select() 循环中返回一样,并且必须自己完成所有状态机导航。

.NET 的情况要好得多,使用 Socket.BeginRead / Socket.EndRead,其中的延续直接传递给 Socket.BeginRead,这就是您选择备份的地方。编码为闭包的延续显然具有您需要的所有上下文,甚至更多。

0 投票
2 回答
831 浏览

ruby - 如何在 Ruby 中的 Unix 上创建持久网络套接字?

我希望能够编写一个可以重新启动而不会断开其套接字连接的 ruby​​ 程序。

0 投票
2 回答
4111 浏览

php - 使用 PHP(或其他语言)流式传输数据(如音乐)

多年来,我一直在研究如何从我的电脑创建音乐流。我见过程序,但我见过的任何有用的东西都只是 Windows(我使用的是 Mac)。

最终,我对流的工作方式产生了兴趣。有什么方法可以创建自己的流,可能在中使用套接字函数PHP?有这方面的PHP图书馆吗?

0 投票
4 回答
1332 浏览

java - Java 中的套接字和进程

在 Java 中,最好的方法是打开一个不断侦听的端口,并在收到数据包后仍然发送。目前我对网络编程并不是特别精通,所以我在网上找到的教程并不是特别有用。

将侦听套接字作为服务器套接字并在单独的线程中运行到我用来向服务器发送数据的套接字是否有意义?

在一个松散相关的问题中。有谁知道如果只为java编程,在netbeans中然后将它导出以在黑莓上使用(使用插件)套接字仍然可以工作吗?

0 投票
1 回答
45062 浏览

c# - 从 C# 中的套接字读取

我正在尝试从 tcp 开放流式套接字读取 ASCII 文本响应

到目前为止,这是我想出的。我想知道包括错误处理在内的最佳方法是什么。我是否还应该在 do 循环中的 Receive 调用之后检查 SocketError?