项目架构简图:现在在Tomcat服务器端是用Java的socket实现通信的,而交换服务器端是WinSock2实现的,协议是自定义的,现在有个问题就是WinSock自定义的协议是以结构体保存的,Tomcat妆收到的数据要如何处理,还有Tomcat怎么发送自定义数据包过去。简单的说,如果在两种不同的语言实现socket自定义协议的通信?

解决方案 »

  1.   

    所谓的数据包结构只是为了描述而已
    根据具体的协议,可以自己解释每一个字节
    一般说的数据包
    打个比方,说一个12位的数据包结构
    Command  uint  4位
    DataLength  uint  4位
    Param  str  4位意思就是
    这个byte[12]
    从0-3  4个字节 表示的是Command
    从4-7  4个字节 表示的DataLength
    从8-11 4个字节 表示的Param就这么简单...
      

  2.   

    根据业务而定,分为消息头和消息体是有必要的,消息体可以使用xml描述,别忘了使用相同的字节序