java - 通过 TCP 套接字发送数据。这看起来合适吗?

标签 java sockets tcp

我正在实现一种客户端服务器机制,其中从客户端收集一些数据并将其发送到监听客户端调用的服务器。我使用 TCP 套接字执行此操作,数据如下所示:

Files:20;Users:100;Availability:0.65 

这符合通过 tcp 套接字发送数据的标准吗?这些是聚合数据,我将每 5 秒发送一次。我该如何改进它?

最佳答案

没有通过 TCP 套接字发送数据的标准,至少没有从用户空间发送数据的标准。您唯一需要注意的是 TCP 是基于流的,因此您无法保证消息边界得到尊重。例如,一次 recv() 调用可能会导致应用程序接收多个数据包。

为了改进您的数据格式,您可以删除描述。如果您知道每条消息将包含相同的“字段”且顺序相同,那么它们可能是多余的。

关于java - 通过 TCP 套接字发送数据。这看起来合适吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17306757/

相关文章:

javascript - Node.js:tcp 连接中的 zlib 压缩

java - 使用Java获取当前机器的IP地址

sockets - 套接字SO_SNDTIMEO超时是设置值的两倍

javascript - 如何在 JavaScript 中定义和接收来自多个 WebSocket 的数据?

java - 从服务器发送消息到 websocket 客户端

c - 如何在接受多个客户端连接时设置 TCP 服务器超时

java - Netty TCP 套接字开销

java - Java 程序的静态污点分析

java - getCacheDir() 下的子目录

java - 列表迭代器返回零