我正在实现一种客户端服务器机制,其中一些数据从客户端收集并发送到服务器侦听客户端调用。我正在使用tcp套接字执行此操作,数据如下:
Files:20;Users:100;Availability:0.65
这是否符合通过tcp套接字发送数据的标准?这些是聚合,我将每5秒发送一次。我怎样才能改进它?
答案 0 :(得分:1)
没有通过TCP套接字发送数据的标准,至少不是来自用户空间。您唯一需要注意的是TCP是基于流的,因此您无法保证将遵守消息边界。例如,一个recv() - 调用可能导致应用程序接收多个数据包。
为了改善您的数据格式,您可以删除说明。如果您知道每封邮件将包含相同的“字段”并且顺序相同,那么它们可能是多余的。
答案 1 :(得分:1)
不,它看起来不对。无论你是否意识到,你已经做出了一些可能会在以后咬你的决定,比如保留':'和';',甚至'\ n',所以除非你提供,否则它们不会出现在数据中逃避机制:你考虑过吗?
有许多现有协议可供复制或实际上只是重复使用。