多線程 網絡傳輸
開發環境:Delphi7.0+WinXP,沒用其他控件(除了Delphi自帶的Indy)
傳輸協議:TCP/IP
客戶端一次發送65000字節的包,服務端負責組裝并處理數據粘連。
使用ReadBuffer(),Send()函數來接收發送Buffer內字節,這樣作的目的是使程序具有更好的靈活性。你可以自定義Buffer內那些字節的含義,例如是字符串、圖像、聲音、命令等等。
文件的多線程讀寫采用windows內存映像技術。
關鍵的服務器處理函數IdTCPServer1Execute(AThread: TIdPeerThread)是非線程安全的。如果使用臨界區,那么多線程將在這里串行執行,嚴重降低多線程效率。對此,我采用一個簡單的辦法,具體可以看程序。
標簽:
Delphi
WinXP
7.0
多線程
上傳時間:
2014-12-02
上傳用戶:silenthink