javascript - 使用nodejs方法socket.write将所有数据发送到哪里?

标签 javascript node.js sockets tcp

美好的一天!调用nodejs方法socket.write时,所有数据发送到哪里?我知道套接字在每个客户端的服务器端运行。但数据到底去哪儿了?给客户?在 Nodejs 官方文档中没有有关目的地的信息。谢谢您的回复。

最佳答案

除非您(或 Nodejs 软件的某些部分)首先将其连接到某个地方的其他套接字,否则您无法成功写入到套接字。

一个socket server listens for connection requests ,然后 accepts他们到达时。 (当你使用 Node Express 来创建 Web 服务器时,Express 会为你处理这个问题。) 客户端 connects到套接字服务器。连接一对套接字后,您写入到其中一个套接字的数据会导致 data event在另一张上。

这两个套接字可能位于不同位置的不同机器上。这就是全局网络的奇迹。

那么您写入的数据去了哪里?到该对中的另一个套接字。

如果您使用数据报(而不是连接),情况会略有不同。您写入的数据包含目标地址。但您可能没有使用数据报。如果是,您可能正在使用 RTSP 或 UDP 等协议(protocol)栈而不是 TCP。

关于javascript - 使用nodejs方法socket.write将所有数据发送到哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53802567/

相关文章:

javascript - 使用meteor-autoform进行预览

node.js - NodeJS - connect-keycloak 中间件空响应错误

C socket : Non blocking way to read\n separated commands

javascript - 当您访问其中包含特定 ID 的 URL 时添加 CSS

javascript - Sum of Pairs : Codewars 优化解

javascript - 如何允许循环 http 请求延迟,同时使用 Promise.all 检测请求何时完成

PHP客户端Web socket发送消息

node.js - 将 Sockets.io 与 React.js + Hooks 结合使用; sockets.emit 不工作

javascript - angular1.x 指令中的单引号内的双引号不起作用

javascript - 如何检查异步函数何时通过 promise 完成执行?