问题标签 [system.net.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 投票
2 回答
6594 浏览

c# - 使用公共IP(C#)连接到服务器时,SocketException'连接方在一段时间后没有正确响应'

我正在尝试使用 C# 创建服务器。目前,我有两个程序,一个服务器和一个客户端,当它们都在同一台计算机上运行时它们都可以正常工作,服务器TcpListener是使用 ip 127.0.0.1 (localhost) 创建的,客户端连接到 ip 127.0.0.1 . 但是,当我尝试使用我的公共 IP 连接到服务器时,客户端程序等待大约 20 秒,然后我得到一个SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond

我已经端口转发了我正在使用的端口(端口是 2345)。我在另一台计算机上尝试了与上述相同的步骤,但仍然得到相同的结果。我在创建服务器时尝试使用公共 ip,TcpListener但后来我得到了SocketException: The requested address is not valid in its context,所以我假设我应该只使用 127.0.0.1 (虽然我可能错了,这是我第一次尝试这样的事情)。

这是创建服务器的函数。

以及创建客户端的功能。

我认为我目前所拥有的会起作用,但我得到的只是那个例外。

0 投票
1 回答
34 浏览

c# - 非触发石英调度工作

我有一个项目,其中包含来自受密码保护的网站的数据抓取过程。数据抓取过程设置为quartz-scheduler 作业,每小时触发一次。当我将项目部署到 web 时,该过程工作正常,但 1 小时后,下一个触发时间,它无法执行。

我确信quartz-scheduler 的使用是正确的,因为完成另一项工作没有问题。我认为问题是关于我不擅长的套接字问题。

这是代码:

我得到了创建这段代码的帮助,所以我不太了解这段代码的某些部分。我怀疑插座部分。如果有人可以提供帮助,我将非常高兴。

0 投票
0 回答
357 浏览

node.js - 如何让不同的用户连接到同一个socket?

我正在使用 Node.js 编写一个简单的聊天应用程序。服务器端代码是:

问题是,当客户端连接到服务器时,每次客户端连接时,套接字对象都是唯一的,因此不同的客户端无法交换消息。

如何让不同的用户连接到同一个套接字,以便他们可以交换消息?

0 投票
0 回答
122 浏览

c# - UDP 数据包会在接收时合并吗?

作为游戏的一部分,我正在开发一个服务器UDP,它以每秒大约 18 个数据包的速度接收来自多达 8 个玩家的数据包。所有这些数据包都由UDPclient服务器端的一个接收。我想知道UDP数据包是否可以与数据包一样合并TCP。如果不是,是否UDPclient只从队列中每帧取一个数据包,这意味着如果服务器每秒接收的数据包比帧速率多,我会遇到问题?

这是使用System.Net.Sockets.

0 投票
1 回答
81 浏览

c# - 无法在 microsoft docs 上找到对代码示例的引用

我正在通过 https://docs.microsoft.com/en-us/dotnet/api/system.net.sockets.socketasynceventargs?redirectedfrom=MSDN&view=netframework-4.8中的示例代码来理解它并让它工作,但是,当我将它复制过来试用时,在 Init() 函数下

异步用户令牌();找不到类型或命名空间。我已经为 SetBuffer(Byte[], Int32, Int32) 方法和 SocketAsyncEventArgs 类都使用的 SocketAsyncEventArgs 构造函数创建了类,但是我一直在寻找这个 AsyncUserToken();

0 投票
0 回答
297 浏览

c# - Socket 异常 0x80004005 偶尔断开连接

在使用我编写的 TCP 服务器接收数据时,我遇到了随机出现神秘错误的问题。例外情况如下:

我正在使用 BeginXXX 和 EndXXX 异步方法,对方肯定没有关闭连接。

负责接受连接的代码:

以及负责接收消息的代码:

有时,服务器和客户端都报告完全相同的问题,有时,它只是服务器或客户端。同样有趣的是,当服务器接受连接时,我可以在日志中看到实际上有两个连接请求,都被接受了。不知道这是否与它有关......只是一个侧面说明,服务器和客户端都在同一台机器上运行,这是一个 MS Azure VM。如果需要,我还可以附上服务器的整个代码。

谢谢!

0 投票
1 回答
507 浏览

node.js - 在节点 API 端点中建立与远程端口的 net.Socket 连接

我有一个 ues 案例,我需要连接到远程套接字并发送传入的 HTTP 有效负载。这是我编写的示例代码,

当我卷曲到端点时,我收到一条消息,表明套接字已连接并且已写入数据,但是,我没有收到收到响应的消息。还有一点,独立的 nodejs 代码工作得很好。

有人可以帮助我了解我做错了什么吗?

我也可以接受任何其他解决方案。本质上,我想从节点服务器连接到套接字服务器。对库没有限制。

0 投票
0 回答
96 浏览

c# - C# Windows 窗体应用程序在创建时冻结

所以大约一周前,我开始在 C# 中测试 Sockets,我想制作一对一的聊天应用程序,如果通过 NetworkStream 发送消息,可以打开该应用程序,但是,我遇到了一个问题,一旦按钮是按下,表单启动,但它被冻结。

这是用于启动消息传递表单的代码

当显示消息表单时,它会启动一个新线程,该线程要么开始侦听连接到服务器的客户端。这是客户端代码

消息传递表单的服务器代码

堆栈溢出很新,所以如果格式需要修复,请告诉我。

0 投票
1 回答
258 浏览

vb.net - 显示 Telnet 客户端收到的消息时的延迟

我正在尝试在 VB.NET 中实现 Telnet 客户端。我以以下代码为例:

我正在实施的程序如下:

  1. 我单击“打开 Telnet”按钮打开 Telnet 会话。
  2. 我在左侧的文本框中写了一条指令(字符串),然后单击Button1以将消息发送到 Telnet 服务器(带有嵌入式以太网端口的电子板)。
  3. Telnet 服务器发送的应答显示在左侧的文本框中。

Telnet 客户端表格

我在示例和正在执行的实现中遇到的问题是消息显示延迟。例如,如果我发送字符串1FFFFFF + vbCrLf,我应该会收到来自服务器的消息,说Unknown HMI code!. 我已经与 Wireshark 确认了该消息是在我使用 VB.NET 程序发送指令之后由 Telnet 服务器发送的,但只有当我Button1再次单击时它才会显示在右侧的文本框中(无论写什么在左侧的文本框中)。

您能否告诉我代码中是否缺少某些内容?

下面是我的代码:

0 投票
2 回答
43 浏览

c# - 除了回显传入消息之外,有没有办法让 tcp 服务器发送响应?

我显然是 TCP 服务器的新手。下面的代码工作得很好——它“只”回应了它收到的消息。但我的问题是“简单的”:我怎样才能向我的客户发送响应——而不是像下面那样简单地回应请求? 例如,如果我想发回数据(特别是对我来说,类似 XML 格式的“OFML”数据,供刑事司法最终用户使用)。

但我会满足于“Hello world!”!

我所做的所有尝试都导致我的客户端崩溃(我无法共享其专有代码) - 以及一些自定义错误消息,例如“未找到数据包”。

任何建议将不胜感激 - 或参考一些关于如何完成此任务的明确文档。

哦 - 我可能会补充一点,我只是想创建一个简单的“模拟”服务器,用于客户端的本地调试 - 即这永远不会用于“生产”。 谢谢!