问题标签 [tcp]

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 投票
15 回答
71209 浏览

sockets - 当您需要可靠的 UDP 时,您使用什么?

如果您遇到 TCP 连接可能太慢而 UDP“连接”可能太不可靠的情况,您会使用什么?有各种标准可靠的 UDP 协议,您对它们有什么经验?

请在每个回复中讨论一种协议,如果其他人已经提到了您使用的协议,那么请考虑对他们进行投票并在需要时使用评论进行详细说明。

我对这里的各种选项感兴趣,其中 TCP 处于规模的一端,而 UDP 处于另一端。有各种可靠的 UDP 选项可用,每个选项都为 UDP 带来了一些 TCP 元素。

我知道 TCP 通常是正确的选择,但列出替代方案通常有助于帮助人们得出这个结论。像 Enet、RUDP 等基于 UDP 构建的东西各有优劣,你用过吗,你的经验是什么?

为免生疑问,没有更多信息,这是一个假设性问题,我希望能引出一份答复清单,详细说明需要做出决定的人可以使用的各种选项和替代方案。

0 投票
2 回答
316 浏览

java - 阅读java中的转移套接字?

如果我要创建一个 ipfw 转移规则以将所有 FTP 流量转发到特定套接字,是否可以使用 Java 连接到 socekt 并读取数据包信息?如果是这样,我将如何阅读/写入scoket?

0 投票
8 回答
419617 浏览

tcp - IPv4 允许的最大 TCP/IP 网络端口号是多少?

可以使用的最高端口号是多少?

0 投票
3 回答
33989 浏览

c++ - 如何确定socket listen() backlog 参数的值?

我应该如何确定监听套接字的 backlog 参数使用什么?简单地指定一个非常大的数字是否有问题?

0 投票
4 回答
9162 浏览

java - 如何为 Java 套接字指定端口范围?

在 Java 中,您可以将数字零作为 Socket 或 DatagramSocket 构造函数的单个参数。然后 Java 将该 Socket 绑定到一个空闲端口。是否可以将端口查找限制在特定范围内?

0 投票
3 回答
846 浏览

c - 手动选择 TCP 上的接口发送数据

我有一个仅在特定接口上侦听的 TCP 服务器。我希望在accept()调用之后,如果传入连接来自xxx.xxx.xxx.0子网,那么数据应该通过 intf1 否则数据应该通过我的服务器正在侦听的 intf2 发送。

两个接口具有相同的路由设置和优先级。所有网络都可以从这两个接口访问。

一种出路可能是通过 intf1 添加一条具有更高优先级的新路由,但我希望这是基于代码的决定。

代码是在 Linux 上用纯 C 语言编写的。

0 投票
11 回答
135920 浏览

web-services - 监控 HTTP、TCP 等 Web 服务流量的工具

您用来监控网络服务、SOAP、WCF 等来来往往的流量的最佳工具是什么?我见过一些用 Java 制作的工具,但它们似乎有点蹩脚。我想要的是一个作为代理位于中间并进行端口重定向的工具(它应该具有可配置的监听/重定向端口)。是否有任何工具可以在 Windows 上执行此操作?

0 投票
3 回答
3709 浏览

c# - 远程检查 IP 端口状态

我发现了一篇关于在机器上获取活动 tcp/udp 连接的文章。

http://www.codeproject.com/KB/IP/iphlpapi.aspx

然而,我的问题是我需要能够远程确定活动连接 - 以查看特定端口是否正在运行或正在侦听而不篡改机器。

这可能吗?

看起来不像本机,否则可能会造成安全问题。另一种方法是查询远程服务,然后可以在本地机器上进行必要的调用。

有什么想法吗?

0 投票
3 回答
1437 浏览

ruby-on-rails - 除了 Rails 应用程序之外,还需要运行 TCP 服务器

我有一个使用 postgresql 数据库运行的 Rails 2.0.2 应用程序。机器将在 TCP 端口上接收数据。我已经编写了一个工作 ruby​​ 多线程 tcp 服务器来接收请求,但我需要这个代码与我的 Rails 应用程序一起运行。

所以我想我需要知道如何在 Rails 中跨越一个新进程,或者如何创建一个工作线程来运行我的线程化 tcp 服务器循环。我的 ruby​​ tcp 服务器可以访问 ActiveRecord,但这不是必需的(我总是可以创建一个 http 请求,将接收到的数据发布到原始 Rails 服务器)

0 投票
7 回答
1706 浏览

c# - 可以通过编程方式终止 TCP/IP 堆栈吗?

我们的服务器应用程序正在侦听一个端口,一段时间后它不再接受传入的连接。(虽然我很想解决这个问题,但这不是我在这里要问的;)

奇怪的是,当我们的应用程序停止接受端口 44044 上的连接时,IIS(在端口 8080 上)也是如此。杀死我们的应用程序可以解决所有问题 - IIS 再次开始响应。

那么问题来了,一个应用程序会搞乱整个 TCP/IP 堆栈吗?或者,应用程序如何做到这一点?

毫无意义的细节:我们的应用程序是在 XP/SP2 上的 .Net 2.0 下用 C# 编写的。

澄清:IIS 没有“拒绝”尝试的连接。它永远不会看到它们。客户端收到“服务器未及时响应”消息(使用 .Net TCP 客户端。)