2012-05-01 52 views
-2

UPDATE:這是一個簽名的小插槽處理器連接失敗的Java

所以,我有一個小程序,它初始化時,它會嘗試連接到服務器的ip。類似於

handler = new SocketHandler("xxx.xxx.xxx.xx", 5000); 

服務器是在美國。如果客戶端來自美國,我一直在測試它可以正常工作(applet將正確加載)。 但是,如果客戶端從其他國家/地區打開該站點,則小程序無法加載。它似乎無法連接到服務器或其他東西。有沒有人知道有什麼問題或如何解決問題。我需要使用不同的IP地址還是用於國際用途?

更新:反正會增加超時連接嗎?另一件事是,如果我使用較慢的連接,java控制檯與超時套接字連接

+0

它可能是服務器正在檢測源並拒絕允許來自美國以外的連接。網站是什麼? –

+0

@AndrewThompson該網站無關緊要,因爲你無法登錄。 – Harts

+2

*「該網站無關緊要」*這不是幫助臺。 –

回答

1

不受信任的Applet只能連接到服務器,它出於安全原因下載。所以,檢查你的java控制檯。可能你會發現安全例外。

其他可能的問題是您的服務器和客戶端之間存在防火牆。

順便提一下,我可以問你爲什麼使用TCP套接字進行applet和服務器之間的協商?爲什麼不使用網絡服務基於HTTP的RESTful API?至少可以解決防火牆問題:如果使用HTTP成功下載了applet,它將使用相同的協議成功地與服務器通話。

+0

這是一個已簽名的小程序。我使用套接字來編寫日誌文件。由於applet位於客戶端,因此我需要在服務器端編寫該文件,我需要使用socket進行openstream並將其寫入服務器。 – Harts