问题标签 [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 投票
6 回答
3111 浏览

java - 为什么即使在非阻塞套接字上,SocketChannel 的写入也总是全部完成?

在 Windows 上使用 Sun Java VM 1.5 或 1.6,我连接了一个非阻塞套接字。然后我用一条消息填充一个ByteBuffer要输出的消息,并尝试到write()SocketChannel。

如果要写入的量大于套接字 TCP 输出缓冲区中的空间量,我希望写入仅部分完成(这是我直观地期望的,这也是我对文档的理解),但这不是发生。write() 似乎总是返回报告写入的全部量,即使它是几兆字节(套接字的 SO_SNDBUF 是 8KB,比我的多兆字节输出消息少得多)。

这里的一个问题是我无法测试处理输出被部分写入的情况的代码(将兴趣集注册WRITE到选择器并执行 aselect()等待直到可以写入剩余部分),因为这种情况似乎永远不会发生。我不明白什么?

0 投票
4 回答
4994 浏览

java - 如何在 J2ME 中读取字符串?

我正在使用 MIDP 2.0 (JSR 118),我只是注意到 J2ME 中没有字符串阅读器。

有谁知道您应该如何从独立于平台的方式(即在两个不同型号的启用 java 的手机之间)读取InputStream字符串InputStreamReader

0 投票
6 回答
209668 浏览

java - java.net.URLEncoder.encode(String) 已弃用,我应该改用什么?

使用时收到以下警告java.net.URLEncoder.encode

我应该改用什么?

0 投票
3 回答
19432 浏览

ruby - 如何在 Ruby 中设置套接字超时?

如何为 Ruby 套接字上的阻塞操作设置超时?

0 投票
9 回答
10755 浏览

network-programming - 以编程方式管理思科;Telnet 与 SNMP?

最近,一位网络工程师和我的同事找到了我,他想将他的次要网络管理职责交给初级帮助台技术人员。需要管理的特定位置在其单站点物业上充当租户的 ISP,因此每天都会进行很多小调整。

我认为给他写一个 winform 应用程序来现场管理 32 台 Cisco 设备会很有帮助。我想最初提供可以修改访问控制列表、端口 VLAN 分配和每个 VLAN 的带宽限制的功能......在列表中添加更多认为有价值的内容。

我最初的想法是模拟与网络设备的 telnet 会话;利用我的网络工程师对命令行/IOS 交互的熟悉程度。我自己需要最少的时间来学习 Cisco IOS 约定。

尽管在寻找解决方案时,似乎大多数人都喜欢 SNMP。 那,或者,他们的具体情况将他们推向了 SNMP 的方向。

我想知道我是否忽略了 SNMP 的一个明显好处。 我应该使用 SNMP 吗?为什么或者为什么不?

0 投票
3 回答
16047 浏览

c++ - 如何在 C 中限制套接字连接的带宽?

我正在使用 BSD 套接字编写客户端-服务器应用程序。它需要在后台运行,不断传输数据,但不能占用正常使用的网络接口带宽。根据接口的速度,我需要将此连接限制到某个最大传输速率。

以编程方式实现这一目标的最佳方法是什么?

0 投票
2 回答
5318 浏览

linux - 从接口名称中查找 IP 地址

在 Linux 机器上,常见的接口名称类似于 eth0、eth1 等。我知道如何使用或类似功能找到至少一个 IP 地址gethostbyname,但我不知道如何指定我想要 IP 地址的命名接口的。我可以使用 ifconfig 并解析输出,但是为这些信息而炮轰似乎......不优雅。

有没有办法,比如说,将所有接口及其 IP 地址(可能还有 MAC 地址)枚举到一个集合中?或者至少是类似的东西gethostbyinterface("eth0")

0 投票
4 回答
15445 浏览

xml - 写入和读取 xml 字符串的正确方法

我已经在这堵墙上撞了很长时间了,所以我想我会问一些专家。

我需要将 xml 字符串从一台计算机发送到下一台计算机。我想像这样格式化xml:

任何人都可以提供一些帮助吗?

编辑:更多细节

我控制发送和接收,并成功地单向传输硬编码字符串。

这是接收端:

大多数情况下,这是一个学习如何为我做 XML 的练习,所以除了我自己的知识之外,它没有真正的目的。我正在寻找一些关于做这些事情的最佳方式的意见。

0 投票
7 回答
51084 浏览

c++ - 对于最大吞吐量,UDP 数据包的最佳大小是多少?

我需要通过可能有损的网络将数据包从一台主机发送到另一台主机。为了最大限度地减少数据包延迟,我不考虑 TCP/IP。但是,我希望最大化使用 UDP 的吞吐量。要使用的 UDP 数据包的最佳大小应该是多少?

以下是我的一些考虑:

  • 网络中交换机的 MTU 大小为 1500。如果我使用大数据包,例如 8192,这会导致分片。丢失一个片段会导致整个数据包丢失,对吗?

  • 如果我使用较小的数据包,我会产生 UDP 和 IP 标头的开销

  • 如果我使用一个非常大的数据包,我可以使用的最大数据包是多少?我读到最大的数据报大小是 65507。我应该使用什么缓冲区大小来允许我发送这样的大小?这会有助于提高我的吞吐量吗?

  • 常见操作系统(例如 Windows、Linux 等)支持的典型最大数据报大小是多少?

更新:

一些数据的接收者是没有实现 TCP/IP 堆栈的嵌入式系统。

我知道这个地方到处都是非常坚持使用可用的东西的人。但我希望有更好的答案,而不是只关注 MTU。

0 投票
2 回答
257 浏览

.net - .NET 通信组件

我正在寻找 C#.NET 2008 Professional 的组件,它能够完成我们的应用程序所需的大部分网络通信工作,因此我们的程序员不必这样做。

该组件的功能应该与RealThinClient (RTC)的功能类似。组件必须能够优雅地丢失和重新获得连接。它必须具有内置加密功能。它必须内置压缩。RTC 也能够进行连接池,这也是我们想要的。

关于我们的一点背景:我们以前是一家 Delphi 7 商店,现在正在转向使用 Visual Studio .NET 2008。在我们决定转向 .NET 之前,我们刚刚找到了 RTC,并希望有一些东西可以复制可用的功能. :-)

感谢您的帮助,非常感谢您的链接。

迈克尔·贝克