Я пытаюсь подключить UDP-сервер, работающий на Node.js с помощьюUdp сокет Ошибка привязки
int socketDs = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
struct sockaddr_in socket;
memset(&socket, 0, sizeof(socket));
socket.sin_family = AF_INET;
socket.sin_addr.s_addr = inet_addr("SERVER.IP");
socket.sin_port = htons(PORT);
long r = bind(socketDs, (struct sockaddr *)&socket, sizeof(socket));
NSLog(@"Sockect bind: %ld %s", r, strerror(errno));
не удалось выполнить привязку к нему, возвращается с Can't assign requested address
. Однако sendto отлично работает без привязки к нему.
В чем может быть проблема. Кроме того, я не получаю «закрыть» событие на Node.js
Вот мой код сервера
var dgram = require("dgram");
var server = dgram.createSocket("udp4");
var clients = new Array();
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.on("close") {
console.log("close");
});
server.on("error") {
console.log("error");
});
server.bind(PORT);
Покажите нам определение 'SERVER.IP' –
Действительно IPv4 ip как" xxx.xxx.xxx.xxx " –
@DawoodMujib Почему бы не показать его значение? Скорее всего, вы находитесь за NAT и привязываетесь к локальному адресу, так что это не похоже на то, что мы узнаем ваш публичный IP-адрес. – szczurcio