2013-06-25 18 views
0

我終於成功地得到了一臺服務器的工作(2天玩java哈哈),所以我可以使用套接字連接。 但讓我困擾的是,讓我們說,我將這兩個客戶端連接到使用這些插座的服務器 如何發送命令,例如從一個客戶端到另一個客戶端的攻擊?如何在Actionscript 3中從Socket接收命令?

我希望你明白我的意思笑:/ PS:我用java服務器,AS3爲客戶提前反正

謝謝...

+0

基本上我相信你需要研究Java中的線程之間的通信以將數據從一個線程傳遞到另一個線程。 http://stackoverflow.com/questions/2816005/communication-between-threads-in-java-stopping-a-thread-if-another-thread-has-f你將需要更新所有客戶端時數據發送到服務器(除了正在廣播的客戶端)以獲得一些多玩家動作。我相信通常使用UDP代替TCP來提高速度,儘管快節奏的多人遊戲缺乏可靠性。 – shaunhusain

+0

那麼我使用Actionscript 3,而不是java:/ –

+0

這聽起來像你在使用AS3客戶端和Java服務器端的問題。客戶端(AS3)需要將數據發送到服務器(Java),然後服務器(Java)需要將該數據傳遞給另一個客戶端(AS3)。如果你正在做某種類似P2P客戶端的事情,那麼在你的問題中並不清楚。從本質上講,您需要讓Java充當數據從一個客戶端到另一個客戶端的「橋樑」,否則他們無法進行通信。只是爲了讓你知道我所知道的移動設備上不支持Socket類,所以如果你需要移動設備,你必須推出你自己的ANE。 – shaunhusain

回答

0

您需要添加任何BlazeDS的(有點過時)或GraniteDS(更新,在我看來,效果更好),我認爲BlazeDS稍微容易一些。

它們都基於使用java webservlet和actionscript AMF格式以允許與flash/actionscript客戶端進行通信。

另一種選擇是使用某種形式的C/C++/C#來實際講二進制。如果你想創建你自己的協議,這是非常有效的。另一方面,這意味着更多的工作:)。

相關問題