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

c# - 无法将套接字重新绑定到现有 IP/端口组合

问候,我正在尝试找到一种方法来从特定的 IP/端口组合中“解除绑定”套接字。我的伪代码如下所示:

此时,.Net 通知我已经有一个绑定到 127.0.0.1:4567 的套接字,这在技术上是正确的。但是无论我在 ClassA 的析构函数中放入什么代码,或者无论我在套接字上调用什么函数(我尝试过 .Close() 和 .Disconnect(true)),套接字仍然自豪地绑定到 127.0.0.1:4567。我该怎么做才能“取消绑定”套接字?


编辑:我不仅仅依赖垃圾收集(尽管我也尝试过这种方法)。我尝试调用 a.Close() 或 a.Disconnect() ,然后才实例化 aa; 这并不能解决问题。


编辑:我也尝试过实现 IDisposable,但是如果没有我调用该方法,代码就永远不会到达那里(这相当于早期的尝试,因为该方法只会尝试 .Close 和 .Disconnect)。让我尝试直接调用 .Dispose 并回复您。


编辑(大量编辑,道歉):实现 IDisposable 并从“a”失去范围的地方调用 a.Dispose() 不起作用 - 我的 Dispose 实现仍然必须调用 .Close 或 .Disconnect(true) (或 .Shutdown (两者))但没有一个解除套接字绑定。

任何帮助,将不胜感激!

0 投票
1 回答
1608 浏览

java - 如何在多宿主机器上用 Java 发送和接收 UDP 数据包?

我有一台安装了 VmWare 的机器,它添加了两个额外的网络接口。操作系统是 Vista。我有两个 Java 应用程序,一个广播数据报,一个接收这些数据报。我遇到的问题是,除非我禁用两个 VmWare 网络接口,否则接收器无法接收数据报。

在不禁用接口的情况下使其工作的最佳方法是什么?

0 投票
4 回答
6536 浏览

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

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

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

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

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

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

0 投票
9 回答
18905 浏览

python - 如何在 Python 中获取套接字的外部 IP?

当我调用socket.getsockname()一个套接字对象时,它会返回我机器内部 IP 和端口的元组。但是,我想检索我的外部 IP。这样做最便宜、最有效的方式是什么?

0 投票
5 回答
9661 浏览

ruby - 在 get() 中从 Ruby 中损坏的 TCP 套接字中恢复

我正在读取 TCP 套接字上的输入行,类似于:

如果端点在 getline() 运行时终止连接,则 gets() 挂起。

我该如何解决这个问题?是否有必要进行非阻塞或定时 I/O?

0 投票
13 回答
940699 浏览

java - java.net.SocketException:连接重置

我在尝试从套接字读取时收到以下错误。我正在做一个readInt()InputStream我收到了这个错误。仔细阅读文档,这表明连接的客户端部分关闭了连接。在这种情况下,我是服务器。

我可以访问客户端日志文件并且它没有关闭连接,实际上它的日志文件表明我正在关闭连接。那么有人知道为什么会这样吗?还有什么要检查的?当当地资源可能达到阈值时,是否会出现这种情况?


我确实注意到我有以下行:

就在readInt(). 这是有原因的(长篇故事),但只是好奇,是否存在可能导致指示错误的情况?我在我的 IDE 中运行服务器,我碰巧让我的 IDE 卡在断点上,然后我注意到完全相同的错误开始出现在我自己的 IDE 日志中。

无论如何,只是提一下,希望不是红鲱鱼。:-(

0 投票
8 回答
10563 浏览

actionscript-3 - AS3 FTP 编程和 Socket 和 ByteArray 类

很抱歉主题行听起来像是一个更书呆子的哈利波特标题。

我正在尝试使用 AS3 的 Socket 类编写一个简单的 FTP 程序,以在 Flex Builder 3 中导出为 AIR 应用程序。我正在使用本地网络上的 FTP 服务器来测试程序。我可以成功连接到服务器(简单的部分),但我无法发送任何命令。我很确定您必须使用 ByteArray 类来发送这些命令,但是我显然遗漏了一些关键信息。有谁知道如何做到这一点?谢谢!戴夫

0 投票
5 回答
7540 浏览

sockets - 如何在不需要 root 权限的情况下运行类似 traceroute 的程序?

我已经看到另一个程序在其中提供了跟踪路由功能,但不需要 root(超级用户)权限?我一直认为原始套接字需要是 root,但是还有其他方法吗?(我认为有人提到了“supertrace”或“tracepath”?)谢谢!

0 投票
12 回答
38622 浏览

c++ - 如何在 C++ 中创建 RAW TCP/IP 数据包?

我是一个初级 C++ 程序员/网络管理员,但我想如果有人指出我正确的方向,我可以学习如何做到这一点。大多数教程都是使用由于某种原因不再有效的旧代码进行演示的。

由于我在 Linux 上,所以我只需要解释如何编写原始伯克利套接字。有人可以让我快速运行吗?

0 投票
6 回答
2095 浏览

java - 测量来自 Servlet 的总网络传输时间

我如何衡量客户等待请求的时间。

在服务器端很容易,例如通过过滤器。但是如果我们想计算包括延迟和数据传输在内的总时间,那就很难了。

是否可以访问底层套接字以查看请求何时完成?还是有必要做一些javascript技巧?也许通过浏览器和服务器之间的时钟同步?这个任务有任何预制的javascript吗?