最简单的莫过于基于文本的协议,举例如下:
六.协议设计
1.登录
c:s Login TrID ClientName Password
s:c LoginOk TrID
s:c LoginFail TrID errorcode2.心跳
c:s Hea TrID 
s:c Hea TrID3.发送信息
c:s Send TrID desClientName MessageInfo
s:c NewMsg srcClientName MessageInfo
s:c SendOk TrID
s:c SendFail TrID4.用户上线通知
Online UserName5.用户下线通知
Offline UserName4.下线
c:s Logout TrID

解决方案 »

  1.   

    如:
    login 1 A 1234其中1是TrID,client用于核对报文通常,你需要写一个分析报文的东西,因为实际上是分析一个字符串,相对也比较容易。
      

  2.   

    ydogg,非常感谢你的指教,不只有没有合适的资料介绍我看一看?我以前没有接触过协议,一时还是有些不太理解。是不是可以这么说,传送文件双方统一个规定:传送一些互相清楚的代码来表明一定的意思?
    还有,你所说的是针对报文的,那如果是对于流式数据呢?是否同样适用呢?
      

  3.   

    传送一些互相清楚的代码来表明一定的意思?就是这样,自定义协议是通信的双方所共知的规则。偶所说的报文,不是TCP/IP内指的报文,是特指协议中的一个“报文“
    比如,称
    c:s Login TrID ClientName Password 为登录报文
    hea TrID 为心跳报文等,实际上就是传送的流式数据(一个字符串)
      

  4.   

    ydogg,非常感谢,不知能不能介绍一些合适的书籍或是资料,非常感谢了!