2014-04-24 33 views
1

我正在開發android中的棋盤遊戲。我想讓這款遊戲可以在兩個獨立的設備上玩,因爲我需要使用WiFi-Direct。我想知道是否有任何庫可用,這將有助於我WiFi-Direct在遊戲開發中的使用(Android)

  • 查找與設備連接
  • 發送和接收觸摸監聽事件後,兩個設備之間板座標

我感興趣在內置庫中。 或 如果可能,請分享實施的客戶端/服務器架構示例。

回答

4

這是服務器:

Thread serverThread = new Thread(new Runnable() { 

    @Override 
    public void run() {         

    try { 
     serverSocketTCP = new ServerSocket(); 
     serverSocketTCP.setReuseAddress(true); 
     serverSocketTCP.bind(new InetSocketAddress(YourPort)); 

    while (status) { 
     clientSocketTCP = serverSocketTCP.accept(); 

     BufferedReader bufferedReader = new BufferedReader(new 
     InputStreamReader(client.getInputStream())); 

     OutputStream outputStream = client.getOutputStream(); 



    } 
    } catch (Exception e) { 
    e.printStackTrace(); 

    } 
    }); 
serverThread.start(); 

這是客戶端:

Socket clientSocket = new Socket(ServerIP,ServerPort); 
outputStream = clientSocket.getOutputStream(); 
bufferedReader=newBufferedReader(new 
InputStreamReader(clientSocket.getInputStream())); 
1

使啓動遊戲的設備作爲TCP服務器運行,並使其在網絡上廣播並在預定端口上偵聽。當另一個玩家想加入時,他只需從菜單中選擇服務器並加入遊戲。座標可以作爲數據包在觸摸事件中發送。

+0

我想使它點對點。 –

+0

您需要一臺服務器進行廣播。 – Tareq

+0

對於初學者來說哪一個會很容易?對等或客戶端服務器體系結構。 –