2011-08-02 49 views
0

由於某種原因,當我將一個Java客戶端連接到我的Cpp服務器時,它完美地工作。但是,當另一個Java小程序試圖連接第一個Java小程序時,它會停止從服務器接收數據。其他一些嘗試將完全凍結該小程序。我在網上到處搜索,但什麼也沒找到。我會很感激任何幫助,如建議,鏈接或來源的主題。我唯一的選擇(因爲Flash是出了問題)是使用Active X,但隨後我就失去了我所有的跨平臺能力:(。我的源(減去調試代碼等)如下。我無法獲得與我的Cpp服務器通信的多個小應用程序

public void init() { 

    try { 
     socket = new Socket("localhost",4000); 
    } catch (UnknownHostException e) { 
     System.out.println("Unknown host"); 
    } catch (IOException e) { 
     System.out.println("IO Exception"); 
     return; 
    } 

    BufferedReader fromServer = null; 
    PrintWriter toServer = null; 

    fromServer = new BufferedReader(
    new InputStreamReader(socket.getInputStream())); 
    toServer = 
    new PrintWriter(socket.getOutputStream(), true); 
    toServer.flush(); 

+0

發生了什麼事在哪邊? – Atreys

+0

服務器似乎很好。它是用Cpp編寫的,我可以用PuTTY –

回答

1

聽起來像你的Cpp服務器不能處理多個連接,你能確認你可以接受多個傳入的網絡連接嗎?

+0

連接。我使用了PuTTY並使用多個連接進行連接 –

+0

好吧:爲了澄清一下,您可以連接多個putty實例並同時發送來自所有實例的數據並接收響應?我懷疑你的applet在某個地方的讀取循環中被凍結,因爲它正在等待事件調度線程中的數據,而沒有及時接收它。上面的代碼不包含足夠的數據來確定它在哪裏凍結,所以我會檢查一下。 – Femi

+0

是的,我可以使用多個PuTTY連接並一次發送和接收來自所有人的數據。我可以在這裏複製我的所有代碼,但它的長度爲83行!如果你想讓我的故障程序的特定部分讓我知道。 –

1

我找到了解決方案!你不能在一個瀏覽器和一臺機器上運行多個applet 。它會工作,如果你加載它們在單獨的瀏覽器(如IE和FF)或加載它在一個單獨的機器(如遠程),我希望這可以幫助。

相關問題