我想做一個簡單的TCP/IP通訊程序,客戶端需要注冊,登陸,登錄信息有:
用戶名、密碼(都是必填項)和其他若干選填項(可填可不填);
我現在要注冊,包含以下信息,舉個例子:
用戶名:wang
密碼:ab12345
手機號:12345678910
這三條信息是一次性打包發送還是分三次打包發送(一條信息一個包)?
(1)若是一次性打包發送,該如何打包?協議如何定比較好,請舉實例說明。發給服務端後服務端又該如何解析?比如第三條信息,可以是手機號,可以是其他,服務端如何識別?
(2)若是分三次(或以上)打包發送,是不是效率太低?同時,也存在上面說的服務端如何識別的問題。
希望大家給些建議,說說自己的見解,謝謝。
這個肯定是用一個包了,至於你說的如何區分不同的信息,需要發送方和接收方制定相同的規則,簡單點就是:{字段名+字段長度}+字段內容,字段名用一些特殊字符分別表示你這裡的用戶名、密碼、手機號這些,字段長度對應數據的用戶名、密碼、手機號長度,後面就是具體的內容。接收方根據字段名判斷數據,更具字段長度的偏移量取出具體信息就行了。