最近因为项目的需要,接触到了一些unity开发,在和他们聊的过程中发现,他们游戏行业普遍采用protobuf+TCP来进行数据传输,protobuf没问题,谷歌出品,而且支持多语言,本身生成的数据,也有考虑到数据压缩,比平常大家采用的json,实际上要小很多;但采用TCP就有点疑问了,毕竟TCP因为黏包的问题,你要解决数据传输,必须设计包头和包体,来保障数据传输的完整性。我在想,这地方是否可以采用websocket来替代呢?虽然他也是基于TCP,但其实他在设计的时候,就已经考虑到了黏包的问题,已经在协议层面解决了,而websocket的开源包也很多,可以拿来即用,最关键的是,他可以做到多端支持,windows客户端、移动APP、web都是完美支持的,后来从研发那边的了解到,他们用unity开发游戏,主要运行在App里面,基本上不会运行在浏览器里,所以不会考虑多端支持的问题,这也就难怪了。你觉得呢?