我知道应用层有很多协议,
这个问题更多的是关于什么时候不去跟踪他们,
假设我有一个客户端和一个服务器,客户端应用程序应该向该服务器发送一些数据,例如,关于使用该应用程序的人的一些统计数据,
现在,对于一个好的编程实践来说,只打开tcp套接字并发送数据是否可以,因为它没有遵循协议的开销,或者我是否破坏了osi模型,我应该在应用层遵循其中一个协议吗?我是在这里重新发明方向盘还是它是一个实际的解决方案?
发布于 2018-04-18 04:59:14
总是有一个应用层协议。如果您的概念是将一些统计信息以普通十进制数字的形式传输到某个TCP或UDP端口上的服务器‘’,那么这就是您的(隐式)应用程序协议。该协议使服务器能够接收数据,并为该数字指定一个含义。
OSI模式是一种模式,而不是一种法律。在您的应用层协议中,您可以做任何您想做的事情。
但是,预测服务的未来扩展可能很有用,这样您就可以在一个流/数据报中传输value_a:data\0value_b:data,而不必保持客户端和服务器版本完全同步(服务器不需要所有值,而只是忽略未知的值)。当然,您也可以每次使用不同的服务器端口--您的选择。
https://stackoverflow.com/questions/49887216
复制相似问题