Я пытаюсь запрограммировать онлайн-игру на android. Мой первый шаг - установить sh соединение между клиентом / android приложением и сервером. Сервер работает на Node js.
Сначала я пытаюсь отправить данные с клиента на сервер через мою локальную сеть. Проблема в том, что даже такая простая вещь не работает как-то. Сервер не может получать данные от клиента.
Клиент:
public class LongOperation extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
try {
String messageStr = "Hallo Welt";
DatagramSocket s = new DatagramSocket();
InetAddress local = null;
local = InetAddress.getByName("127.0.0.1");
int msg_length = messageStr.length();
byte[] message = messageStr.getBytes();
DatagramPacket p = new DatagramPacket(message, msg_length, local, 12345);
s.send(p);
android.util.Log.w("UDP", "Works fine!");
}
catch (Exception e)
{
System.err.println("ERROR! !");
e.printStackTrace();
}
return null;
}
Сервер:
'use strict';
var PORT = 12345;
var HOST = '127.0.0.1';
var dgram = require('dgram');
var server = dgram.createSocket('udp4');
server.on('listening', function () {
var address = server.address();
console.log('UDP Server listening on ' + address.address + ':' + address.port);
});
server.on('message', function (message, remote) {
console.log(remote.address + ':' + remote.port + ' - ' + message);
});
server.bind(PORT, HOST);
Что я здесь игнорирую?