2013-09-29 176 views
0

一個java程序可以作爲客戶端和服務器運行嗎?我嘗試過實現線程,但是我遇到了競爭條件問題。我應該堅持還是有更簡單的解決方案?java服務器客戶端共享主

該程序用於演示目的,因此每次程序運行時,用戶輸入到客戶端和服務器的字符串都是相同的字符串。即客戶端:「你好服務器」服務器:「你好客戶端」客戶端「再見服務器」服務器:「再見客戶端」。

+0

因爲架構的本質,你通常希望事物分離,但是在一些允許LAN交互的遊戲中,其中一個玩家是主機,因此他是服務器,也是客戶端。通常多線程可以允許多個客戶端訪問同一臺服務器。這取決於你想要實現什麼。 – porfiriopartida

回答

0

啓動程序兩次:一次作爲客戶端,一次作爲服務器。可以使用命令行開關進行區分。這樣,客戶端和服務器運行在不同的進程中,因此阻止了由於併發內存訪問而造成的競爭狀況。

0

一個java程序可以作爲客戶端和 服務器嗎?

答案是肯定的,你可以有一個程序包含兩個線程作爲客戶端和服務器。現實世界的實現也是如此。對於點對點通信,類似的方法用於例如用java編寫的SIP端點。

相關問題