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

4

我正在开发一款安卓棋盘游戏。为了让两个设备可以玩这个游戏,我需要使用WiFi-Direct。我想知道是否有可用的库可以帮助我完成以下任务:

  • 查找并连接设备
  • 在触摸事件后在两个设备间发送和接收棋盘坐标

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

2个回答

7
将启动游戏的设备作为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()));

2

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


我想让它变成点对点的。 - Umar Farooq
客户端/服务器是相当直接的,你可以在网上找到许多例子。 - Tareq
如果你需要帮助,我可以给你一个例子。 - Tareq
当然!我会感激的。 - Umar Farooq
我能否也得到一个例子? :) 谢谢 - Mon
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接