好吧,所以我在這裏解決一個有關服務器和客戶端如何在機器上工作的技術問題。我知道所有的NET進程,但我缺少引用代碼的東西。我無法找到與此相關的事情。在Visual C#2008TCPListener/TCPClient服務器客戶端寫入/讀取數據
我的代碼,我使用普通的TcpClient /的TCPListener有2個不同的項目:
PROJECT1(客戶端)
Project2的(服務器)
我的問題是,也許如此簡單:
1->關於服務器如何接收數據,事件處理程序a可能嗎? 在我的第一臺服務器的代碼我用來做這個循環:
while (true)
{
if (NetworkStream.DataAvailable)
{
//stuff
}
Thread.Sleep(200);
}
我遇到這是一個垃圾的方式從服務器控件的輸入數據。但服務器始終準備好接收數據。
我的問題:有什麼像...? - >
AcceptTcpClient();
我想要一個等待事件發生的處理程序,在這種情況下,一個特定的套接字數據接收。
2->一般網絡I/O方法。
問題是(旁邊我是noob)是如何處理多個數據寫入。 如果我用字節數組發送大量數據,發送可能會中斷,如果我發送更多的數據。所有數據都已加入並在接收時發生錯誤。我想處理多個寫入發送和接收。
這可能嗎?
** 1)**`NetworkStream.Read(buffer,...,...)`是一個阻塞調用。你不需要那個奇怪的while循環。 ** 2)**`如果我發送更多數據,發送可能會中斷'。不,你可以安全地使用`NetworkStream.Write(buffer,...,...)` – 2011-12-17 01:04:05