节点 JS:UDP 客户端在 OSX (11.2.2) 中不起作用
Node JS: UDP Client does not work in OSX (11.2.2)
我有一个 windows machine 运行 一个 udp 服务器,我尝试使用 node-js 创建一个 UDP->WebSocket 桥...
但我只是想连接到服务器,这似乎 运行 在 windows 上很好,但在 osx 上失败了。
使用此代码:
var PORT = 8005;
var HOST = '192.168.1.33';
var dgram = require('dgram');
var message = new Buffer.from('CONNECTED');
var client = dgram.createSocket('udp4');
client.on('listening', function () {
var address = client.address();
console.log('UDP Server listening on ' + address.address + ":" + address.port);
});
client.on('message', function (message, remote) {
console.log(remote.address + ':' + remote.port +' - ' + message);
});
client.send(message, 0, message.length, PORT, HOST, function(err, bytes) {
if (err) throw err;
console.log('UDP message sent to ' + HOST +':'+ PORT);
});
Windows 输出不错:
UDP Server listening on 0.0.0.0:65054
UDP message sent to 192.168.36.1:8005
192.168.36.33:8005 - OK
OSX刚刚:
UDP Server listening on 0.0.0.0:50360
UDP message sent to 192.168.36.1:8005
Windows 服务器报告套接字错误,这通常意味着存在网络问题。
我想知道问题出在哪里,看起来 OSX 出于某种原因阻止了 udp 连接,但我的 mac.[=14= 上没有激活或安装防火墙或其他过滤器]
有什么想法吗?
似乎问题已解决,当我禁用 Wifi 并仅使用我的以太网连接时。当有两个网络接口可用时,这似乎是一个问题。也许它在 device1 上发送但在 device2 上侦听...
我有一个 windows machine 运行 一个 udp 服务器,我尝试使用 node-js 创建一个 UDP->WebSocket 桥... 但我只是想连接到服务器,这似乎 运行 在 windows 上很好,但在 osx 上失败了。
使用此代码:
var PORT = 8005;
var HOST = '192.168.1.33';
var dgram = require('dgram');
var message = new Buffer.from('CONNECTED');
var client = dgram.createSocket('udp4');
client.on('listening', function () {
var address = client.address();
console.log('UDP Server listening on ' + address.address + ":" + address.port);
});
client.on('message', function (message, remote) {
console.log(remote.address + ':' + remote.port +' - ' + message);
});
client.send(message, 0, message.length, PORT, HOST, function(err, bytes) {
if (err) throw err;
console.log('UDP message sent to ' + HOST +':'+ PORT);
});
Windows 输出不错:
UDP Server listening on 0.0.0.0:65054
UDP message sent to 192.168.36.1:8005
192.168.36.33:8005 - OK
OSX刚刚:
UDP Server listening on 0.0.0.0:50360
UDP message sent to 192.168.36.1:8005
Windows 服务器报告套接字错误,这通常意味着存在网络问题。
我想知道问题出在哪里,看起来 OSX 出于某种原因阻止了 udp 连接,但我的 mac.[=14= 上没有激活或安装防火墙或其他过滤器]
有什么想法吗?
似乎问题已解决,当我禁用 Wifi 并仅使用我的以太网连接时。当有两个网络接口可用时,这似乎是一个问题。也许它在 device1 上发送但在 device2 上侦听...