程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c++-TCP/IP通信:如何制定一個好的報文協議?

c++-TCP/IP通信:如何制定一個好的報文協議?

編輯:編程綜合問答
TCP/IP通信:如何制定一個好的報文協議?

我想做一個簡單的TCP/IP通訊程序,客戶端需要注冊,登陸,登錄信息有:
用戶名、密碼(都是必填項)和其他若干選填項(可填可不填);
我現在要注冊,包含以下信息,舉個例子:
用戶名:wang
密碼:ab12345
手機號:12345678910
這三條信息是一次性打包發送還是分三次打包發送(一條信息一個包)?
(1)若是一次性打包發送,該如何打包?協議如何定比較好,請舉實例說明。發給服務端後服務端又該如何解析?比如第三條信息,可以是手機號,可以是其他,服務端如何識別?
(2)若是分三次(或以上)打包發送,是不是效率太低?同時,也存在上面說的服務端如何識別的問題。
希望大家給些建議,說說自己的見解,謝謝。

最佳回答:


這個肯定是用一個包了,至於你說的如何區分不同的信息,需要發送方和接收方制定相同的規則,簡單點就是:{字段名+字段長度}+字段內容,字段名用一些特殊字符分別表示你這裡的用戶名、密碼、手機號這些,字段長度對應數據的用戶名、密碼、手機號長度,後面就是具體的內容。接收方根據字段名判斷數據,更具字段長度的偏移量取出具體信息就行了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved