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

c# - TcpClient.Connected 返回 true 但客户端未连接,我可以使用什么来代替?

在 VB.net 中,我使用 TcpClient 来检索数据字符串。我不断检查 .Connected 属性以验证客户端是否已连接,但即使客户端断开连接,它仍然返回 true。我可以使用什么作为解决方法?

这是我当前代码的精简版:

如果客户端断开连接但我已经关闭了另一个应用程序并且它仍然没有,我会认为至少 GetStream() 调用会引发异常...

谢谢。

建议编辑 轮询 Client.Available 但这并不能解决问题。如果客户端没有“实际”连接可用,则返回 0。

关键是我试图让连接保持打开状态并允许我通过同一个套接字连接多次接收数据。

0 投票
4 回答
2188 浏览

java - 如果 netstat 说别的,为什么我会得到“java.net.BindException:每个套接字地址只能使用一次”?

  • 我使用端口 9000 启动使用 Jetty 服务器的应用程序。
  • 然后我用 Ctrl-C 关闭我的应用程序
  • 我用“netstat -a”检查,发现端口 9000 不再被使用。
  • 我重新启动我的应用程序并获得:

这是一个Java错误吗?我可以在启动 Jetty 服务器之前以某种方式避免它吗?

编辑 #1这是我们创建 BlockingChannelConnector 的代码,注意“setReuseAddress(true)”:

会不会和空闲时间有关?

编辑#2下一个可能有帮助也可能没有帮助的难题:在调试模式 (Eclipse) 下运行应用程序时,服务器启动时没有问题!!!但是在运行模式下运行应用程序或作为构建的 jar 文件时,上述问题会重复出现。威士忌探戈狐步舞?

编辑#3(4天后) -仍然有问题。有什么想法吗?

0 投票
4 回答
20719 浏览

c# - 什么是 .net / c# 套接字编程的好教程/howto

我正在将使用 Winsock 控件的旧 VB6 代码移植到 C#。我没有做过任何套接字编程,我想知道是否有人有一个很好的参考/教程/howto,我可以用来开始加快速度。

当我继续进行通常效率低下的谷歌搜索时,我正在吸引蜂巢思维。

我现在使用的是 UDP,而不是 TCP。

0 投票
5 回答
4500 浏览

sockets - Windows 上的 Rsync - 非套接字上的套接字操作

尝试在 Windows XP SP2 中运行最新的 Cygwin 版本的 rsync 时出现以下错误。尝试本地同步(即:仅本地硬盘上的源和目标)和远程同步(使用 openssh 包中的“-e ssh”)时都会发生错误。关于如何修复/解决它的任何建议?

0 投票
15 回答
71209 浏览

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

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

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

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

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

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

0 投票
3 回答
3330 浏览

c - 关闭/清理“混合”文件描述符/套接字

当我使用 accept() 创建一个套接字并使用 fdopen() 从中创建一个 FILE 时,我需要做什么来清理所有内容?我需要在 FILE 上执行 fclose(),在套接字上执行 shutdown() 和 close(),还是只需要 shutdown() 和/或 close() 或 fclose()?如果我不执行 fclose(),我是否必须手动释放() FILE 指针?

0 投票
5 回答
15197 浏览

c - 从混杂的网络设备中读取

我想写一个无线流量的实时分析工具。

有谁知道如何从 C 中的混杂(或嗅探)设备中读取数据?

我知道您需要具有 root 访问权限才能执行此操作。我想知道是否有人知道执行此操作需要哪些功能。普通套接字在这里似乎没有意义。

0 投票
3 回答
33989 浏览

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

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

0 投票
4 回答
9162 浏览

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

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

0 投票
1 回答
2972 浏览

.net - 在服务器上引发远程处理异常时出现 Socket 关闭错误

我有一个使用 .Net 远程处理构建的应用程序。验证时,如果有错误,我在服务器上抛出异常。异常是可序列化的。但是当服务器上抛出异常时,有时我会在客户端看到一个错误,上面写着“已建立的连接被主机中的软件中止”。

这是我在尝试调试服务器时从 windbg 获得的堆栈跟踪。看起来远程框架正在这样做。关于为什么关闭套接字以及如何处理这个问题的任何想法?