3

我正在用安卓开发棋盘游戏。我想让这个游戏可以在两个不同的设备上玩,因为我需要使用 WiFi-Direct。我想知道是否有任何可用的图书馆可以帮助我

  • 查找并连接设备
  • 在 touch-listener 事件之后在两个设备之间发送和接收板坐标

我对内置库感兴趣。或者如果可能,请分享客户端/服务器架构的实施示例。

4

2 回答 2

6

这是针对服务器的:

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()));
于 2014-04-24T08:48:21.537 回答
2

使启动游戏的设备作为 TCP 服务器运行,并使其在网络上广播并在预定端口上侦听。当另一个玩家想要加入时,他只需从菜单中选择服务器并加入游戏。坐标可以作为触摸事件的数据包发送。

于 2014-04-24T07:37:21.967 回答