1. 程式人生 > >QT學習之路十三(基於Linux qt的聊天室)

QT學習之路十三(基於Linux qt的聊天室)

  前天將Windows下的聊天室改版了,但是我昨天才發現那個版本有一個缺陷,一個我一開始沒有注意到的錯誤,直到昨天除錯的時候才發現,就是我資料傳輸的時候是用std::string型別的,一開始是為了圖方便,但是有一個致命的缺陷,就是客戶端給伺服器傳輸的時候,伺服器不知道客戶端傳輸的位元組數,讀取的都是sizeof(結構體),這樣測到的大小隻是string初始化的大小,但是並不知道實際傳輸的大小,也正因此,在檔案傳輸、資訊傳遞的時候,一旦傳送的資訊多了,伺服器就崩潰了,甚至只能傳送寥寥幾字,這個方面我還會想辦法,把傳輸的string型別資料轉化為char*型別,因為char*型別的資料是定的,伺服器和客戶端可以限定傳送、接收大小。

  也正是因為這個問題,我先把之前Linux下的聊天室改了一下,用的是原來的伺服器程式碼,只是將客戶端做了一下介面的改變,因為這次伺服器用的是原來的C語言程式碼,所以傳輸的時候不會出現上述問題。若是有朋友需要的話也可以去下載http://download.csdn.net/detail/hjf161105/9768265