2013-04-17 43 views
1

我在我的服務器上使用了http servlet。客戶端連接可用於遊戲客戶端?

我的遊戲客戶端使用下一個HTTP連接:

InetAddress inteAddress = InetAddress.getByName(server); 
SocketAddress socketAddress = new InetSocketAddress(inteAddress, port); 

// create a socket 
socket = new Socket(); 

// this method will block no more than timeout ms. 
int timeoutInMs = 10*1000; // 10 seconds 
socket.connect(socketAddress, timeoutInMs); 

時間插座連接= 10秒......但我必須保持我的客戶機連接可以使用的什麼連接

遊戲客戶端? (尋找最佳實踐)

+3

如果你在服務器上使用Servlet,那麼你不能指望從客戶端保持連接。 Servlet應該接收請求,處理它,發送響應並從客戶端斷開連接。您需要在後端創建一個套接字服務器並實現一個機制來保持連接的活動。 – shazin

+0

感謝您的回覆,他接近我 –

回答

2

只要您的套接字連接建立,您可以保留它並在您認爲合適的時候重新使用它。

timeout參數的值僅在連接建立期間產生影響。如果它是10秒鐘,就像在你的例子中一樣,實現將嘗試建立一個連接10秒(方法調用在那段時間內被阻塞)。如果實現在這10秒鐘內未能建立連接,將會失敗。