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

Posted

技术标签:

【中文标题】WiFi-Direct 在游戏开发中的使用 (Android)【英文标题】:Usage of WiFi-Direct in Game Development (Android) 【发布时间】:2014-06-09 07:52:23 【问题描述】:

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

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

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

【问题讨论】:

【参考方案1】:

这是给服务器的:

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 服务器运行,并使其在网络上广播并侦听预定端口。当其他玩家想要加入时,他只需从菜单中选择服务器并加入游戏。坐标可以作为触摸事件的数据包发送。

【讨论】:

我想让它点对点。 你需要一个服务器来广播。 对于初学者来说,哪一个比较容易?点对点或客户端服务器架构。 客户端/服务器相当简单,你可以在网上找到很多例子。 如果您需要帮助,我可以举个例子。

以上是关于WiFi-Direct 在游戏开发中的使用 (Android)的主要内容,如果未能解决你的问题,请参考以下文章

WiFi-Direct 获取设备名称

WIFI-Direct(Wifi直连)AirPlayDLANMiracast功能介绍

在 Android 和 Raspberry Pi 3 Linux 之间建立 Wifi-Direct 连接

我可以通过 WIFI-Direct 在 Android 和 IOS 之间连接吗?

在Android和Raspberry Pi 3 Linux之间建立Wifi-Direct连接

Wifi-Direct 和 Miracast 之间的真正区别