2013-08-22 186 views
0

我有問題,我在c寫了一個tcp客戶端,但問題是客戶端發送命令到服務器服務器發送響應到該命令,響應是xxx#。但在客戶端,當我從套接字讀取時,我從服務器讀取2響應例如xxx#xxx#.know客戶端僅針對第一個響應表單服務器發送響應,一個響應爲delete.this不一樣,例如客戶端可能只讀1響應ind將對此作出響應。如何搜索#在字符數組中,並提取命令和客戶端響應從服務器的所有響應。任何想法?tcp服務器客戶端通信read()write()問題。 c語言

我有一個想法從客戶端到服務器讀取客戶端響應是好主意還是我寫到服務器,並在一次讀取我讀取所有響應?

例如:

客戶端寫()-------->服務器

客戶端讀取()< ----------服務器響應

客戶端寫()--------->服務器

客戶端寫()--------->服務器

客戶端讀取()< ---------服務器響應

+0

如果您分享您的代碼或至少顯示服務器/客戶端代碼的代碼片段將會很有幫助。 –

+0

TCP的行爲不像您所描述的那樣。你的隱形代碼中有一個錯誤。張貼評論。 – EJP

回答

0

服務器中的receive函數應始終處於活動狀態。因此,應放置在while(1)循環中。

當客戶端發送消息時,它應該從服務器接收確認。

服務器 - >隨時準備接收。

客戶端 - >即時發送和接收。

+0

很難看出這是如何回答這個問題的,不管它是什麼。 – EJP