可以通过套接字发送啥样的数据?

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会发送啥样的事件,需要自己写么

OBEX 协议是啥样的?

[Help]使用ABAP实现邮件发送,你知道SAP提供了啥样的函数吗?

Parse.com:向 Android 客户端发送本地化推送通知 - 客户端实现是啥样的?