2009-12-12 84 views
0

我做了一個簡單的聊天系統,一對一連接到一個客戶端的服務器。我不確定如何讓服務器上的多個客戶端,以便您可以看到每個人的消息。 Here is the source code。服務器一次只接受一個客戶端。我怎樣才能解決這個問題?VB.NET聊天系統

感謝,

凱文

回答

1

與您迄今所做的一切相一致,這裏有一些提示,讓你開始。首先,當客戶端收到一個連接時,它會停止監聽新的連接。

TCPL.Start() 
TCPL.BeginAcceptTcpClient(AddressOf OnConnect, Nothing) 

一個客戶端連接後調用這兩行將允許另一個客戶端連接。其次,客戶端不應該負責啓動服務器。通過這樣做,每個客戶端都擁有自己的服務器。當客戶端擁有自己的服務器時,客戶端永遠無法發送顯示在其他客戶端上的消息。第三,我會將server.vb移到它自己的項目中。這樣兩個不耦合。這些步驟將允許服務器接受多個客戶端。此時多個客戶端將能夠連接並且服務器將看到來自每個客戶端的消息,但客戶端將無法看到彼此的消息。我會離開最後的障礙。