问题标签 [network-programming]

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 投票
8 回答
4286 浏览

windows - 通过间歇性网络连接复制文件

我正在寻找一种可靠的方法来通过允许间歇性连接的 Windows 网络共享复制文件。该应用程序通常用于大型医院的无线移动工作站,我假设连接可能会暂时或一次丢失几分钟。涉及的文件大小通常约为 200KB - 500KB。该应用程序是用 VB6 编写的(呃),但我们经常最终使用 Windows DLL 调用。

谢谢!

0 投票
8 回答
13414 浏览

c# - C# 游戏网络库

我正在使用 .Net v2 开发在线策略游戏。虽然游戏主要是战略性的,但它确实有一些需要合理网络性能的战术元素。我计划将 TCP 数据包用于战略数据,将 UDP 数据包用于战术数据。

{EDIT} 我忘了提到我正在远离 WCF 和 .NET 3+ 有几个原因。首先,因为我想让我的下载量很小,而且我的大多数客户已经拥有 .NET 2.0。其次,因为我想选择移植到 Mac 和 Linux,并且不确定 Mono 中的 WCF 可用性。{/编辑}

我正在寻找网络图书馆的建议。我找到了一些选项,例如 GarageGames 的 Torque Network Library (C++)、RakNet (C++) 和 lidgren 网络库 (C#):

http://www.opentnl.org/ http://www.jenkinssoftware.com/ http://code.google.com/p/lidgren-network/

有没有人对这些或其他图书馆有实际经验?


我刚刚偶然发现了 RakNetDotNet:

http://code.google.com/p/raknetdotnet/

可能是我正在寻找的...

0 投票
4 回答
6536 浏览

c - 套接字如何在 C 中工作?

我对 C 中的套接字编程有点困惑。

您创建一个套接字,将它绑定到一个接口和一个 IP 地址并让它监听。我在上面找到了一些网络资源,并且理解得很好。特别是,我发现一篇文章Unix 系统下的网络编程非常有用。

让我感到困惑的是数据到达套接字的时间。

您如何知道数据包何时到达以及数据包有多大,您是否必须自己完成所有繁重的工作?

我在这里的基本假设是数据包可以是可变长度的,所以一旦二进制数据开始出现在套接字中,你如何开始从中构造数据包?

0 投票
7 回答
5117 浏览

delphi - 德尔福网络编程

我有一个用 Delphi 2006 编写的经典客户端/服务器(胖客户端和数据库)程序。当客户端满足某些条件时,我需要非常快速地通知所有其他客户端。到目前为止,这是使用 UDP 广播完成的,但这不再可行,因为客户端现在从 LAN 外部连接,并且 UDP 广播仅限于本地网络。

我知道 Indy 库,但不确定要使用哪些组件以及如何构建它。我猜我需要有一个客户端连接到的服务器来接收和分发消息......?有什么样品可以让我开始吗?

是否还有其他我应该考虑的组件集或技术?

0 投票
4 回答
1863 浏览

windows - 在软件中测试网络中断

我在 Windows 中有一个网络 C++ 程序,我想在不同时间测试网络断开连接。我有哪些选择?

目前我是:

  1. 实际上从我的计算机背面断开网络线
  2. 使用 ipconfig /release
  3. 使用cports程序完全关闭套接字

不过,这些方法都不是我的理想选择,我想更轻松地模拟网络问题。

我希望有时连接失败,有时套接字读取失败,有时套接字写入失败。如果有一些实用程序可以用来模拟这些类型的问题,那就太好了。

当这个模拟的坏网络启动时,能够构建一些自动化的单元测试也很好。

0 投票
9 回答
12714 浏览

c# - NetworkStream.Write 立即返回 - 我如何知道它何时完成发送数据?

尽管有文档,但 NetworkStream.Write 似乎并没有等到数据发送完毕。相反,它会等到数据被复制到缓冲区然后返回。该缓冲区在后台传输。

这是我目前拥有的代码。无论我使用 ns.Write 还是 ns.BeginWrite 都没有关系 - 两者都会立即返回。EndWrite 也立即返回(这是有道理的,因为它正在写入发送缓冲区,而不是写入网络)。

如何判断数据何时实际发送到客户端?

我想在发送我的数据后等待 10 秒(例如)等待来自服务器的响应,否则我会假设有问题。如果发送我的数据需要 15 秒,那么它将始终超时,因为我只能从 NetworkStream.Write 返回时开始计数 - 这是在发送数据之前。我想从数据离开我的网卡开始计算 10 秒。

数据量和发送时间可能会有所不同 - 发送可能需要 1 秒,发送可能需要 10 秒,发送可能需要一分钟。服务器在收到数据后确实会发送响应(它是一个 smtp 服务器),但是如果我的数据格式错误并且响应永远不会到来,我不想永远等待,这就是为什么我需要知道我是否' m 等待发送数据,或者等待服务器响应。

我可能想向用户显示状态 - 我想显示“正在向服务器发送数据”和“等待来自服务器的响应” - 我该怎么做?

0 投票
3 回答
622 浏览

language-agnostic - 收听多播对我有什么伤害?

我收到了来自交易所的恢复提要,用于恢复其主要提要中丢失的数据。

交易所强烈建议仅在需要数据时收听恢复提要,并在我恢复所需数据后离开多播。

我的问题是,如果我使用的是 asio,并且在不需要时不从 NIC 读取,有什么害处?这些消息有序列号,所以我不会意外处理卡上“留下”的旧消息。

这真的会损害我的应用程序吗?

0 投票
6 回答
10744 浏览

networking - 一台计算机可以支持多少个网络连接?

在编写自定义服务器时,确定在任何给定时间可以连接到服务器的最大用户数的最佳实践或技术是什么?

我认为计算机硬件、网络容量和服务器协议的能力都是重要因素。

另外,您认为将网络连接数限制为某个最大用户数是否是一种好习惯?还是服务器不应该限制网络连接的数量,让性能下降,直到响应时间非常长?

0 投票
8 回答
16230 浏览

python - 使用 Python 搜索具有 MAC 地址的主机

我想在我的网络上搜索给定的 MAC 地址,所有这些都来自 Python 脚本。我已经有了网络中所有活动 IP 地址的映射,但我不知道如何收集 MAC 地址。有任何想法吗?

0 投票
21 回答
174090 浏览

networking - 人为创建连接超时错误

当我收到连接超时时,我们的软件中出现了一个错误。这些错误非常罕见(通常是当我的连接被我们的内部网络断开时)。我怎样才能人为地产生这种效果,以便我可以测试我们的软件?

如果重要的话,应用程序是使用 CAsyncSocket 类在 C++/MFC 中编写的。

编辑:

我尝试使用不存在的主机,但出现套接字错误:

WSAEINVAL (10022) 参数无效

我的下一个尝试是使用Alexander的建议连接到不同的端口,例如 81(虽然在我自己的服务器上)。那效果很好。与断开连接完全相同(等待 60 秒,然后出错)。谢谢!