Использование WiFi-Direct в разработке игр (Android)
Я занимаюсь разработкой настольной игры на андроид. Я хочу, чтобы эта игра игралась на двух разных устройствах, для этого мне нужно использовать WiFi-Direct. Я хочу знать, есть ли какая-либо библиотека, которая поможет мне
- Найти и подключиться к устройству
- Отправка и получение координат платы между двумя устройствами после события touch-listener
Я заинтересован во встроенной библиотеке. ИЛИ Если возможно, пожалуйста, поделитесь реализованным примером архитектуры клиент / сервер.
2 ответа
Решение
Это для сервера:
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()));
Сделайте так, чтобы устройство, которое запускает игру, работало как TCP-сервер, сделало так, чтобы оно транслировалось по сети и прослушивало заранее определенный порт. Когда другой игрок хочет присоединиться, он просто выбирает сервер из меню и присоединяется к игре. Координаты могут быть отправлены в виде пакетов на сенсорных событиях.