WiFi-Direct 在游戏开发中的使用(Android)

问题描述 投票:0回答:1

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

  • 查找并连接设备
  • 在触摸侦听器事件后在两个设备之间发送和接收板坐标

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

java android argument-passing wifi-direct wifip2p
1个回答
6
投票

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

这是给服务器的:

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()));
© www.soinside.com 2019 - 2024. All rights reserved.