2013-04-09 217 views
0

我有一個使用Adobe AIR設置的套接字服務器,我試圖讓兩個客戶端之間使用服務器彼此之間發送消息(這是一個基於Android的項目,所以服務器必須充當PC上的中間人)。出於某種原因,我發送的消息只會被髮回給它來自的同一個客戶端,而不會發送給另一個客戶端。我已經建立了一個系統來確定每條信息的來源,以及如何在另一端處理這些信息。套接字服務器 - 發送消息從客戶端到客戶端

變量'connectionNum'int基本上表示客戶端是否爲數字0或1,並且發送到服務器和從服務器發送的數據在其前面有0或1。

理想情況下,我希望能夠一次將數據定向到一個特定的客戶端,而不是試圖在每條消息開始時用int來發送數據。

目前,只有第二個客戶端連接的消息實際上是通過服務器發送的,第一個發送空白消息,不知道爲什麼。

回答

5

此刻,只有第二個客戶端連接的消息實際上是通過服務器發送的,第一個發送空白消息,不知道爲什麼。

這是因爲你只需要在服務器上的一個clientSocket對象,當別人連接,所以當第二客戶端連接你失去的第一個客戶插座要覆蓋它。當你在服務器上呼叫sendData時,它總是使用clientSocket,它是最後連接的人。

要解決此問題,您需要在服務器上有一組clientSocket對象。然後,如果您想廣播消息,則可以選擇正確的消息發送消息或將消息發送給所有客戶端。

+0

非常感謝你,大量幫助我! – 2013-04-09 21:58:28

+0

不客氣。 – 2013-04-09 22:10:43