可以通过套接字发送啥样的数据?
Posted
技术标签:
【中文标题】可以通过套接字发送啥样的数据?【英文标题】:What kind of data can be sent over a socket?可以通过套接字发送什么样的数据? 【发布时间】:2013-11-27 06:39:07 【问题描述】:我是第一次学习 Node.js,并且在 Pedro Teixeira 的 Hands-On Node.js 书中遇到了使用 TCP 通过套接字发送数据的主题。
require('net').createServer(function(socket)
// new connection
socket.on('data', function(data)
// got data
);
socket.on('end', function(data)
// connection closed
);
socket.write('Some string');
).listen(4001);
我搜索了一些示例,似乎可以通过套接字发送字节、UTF-8 字符串等。我很好奇但无法找到答案的是,通过 TCP 套接字(数据类型、大小等)发送数据有哪些限制(如果有的话)?
【问题讨论】:
【参考方案1】:TCP 总是提供不支持消息边界的字节流。所以任何可以编码为字节流的东西都可以,只要记住你必须以接收者可以解码的方式进行编码。
【讨论】:
所以 TCP 总是一次只“流”一个字节的数据? 不,它可以以任意大小的块流式传输数据。你在一端输入一个字节流,在另一端得到一个字节流。 而且,对于 Node 中的流读取器/写入器,泵/管道功能可以帮助我们处理流的延迟问题? 我不确定您所说的“处理延迟问题”是什么意思。以上是关于可以通过套接字发送啥样的数据?的主要内容,如果未能解决你的问题,请参考以下文章
用php-redis给全部用户发送邮件,数据量很大,思路应该是啥样的
Qt窗口最大化,缩放QWidget会发送啥样的事件,需要自己写么