这段简单的代码 有什么问题么?
发布于 12 年前 作者 diaodiaop 3354 次浏览 最后一次编辑是 9 年前

var host=“XXX.XXX.XX.XX”; var port=12345; var dgram = require(“dgram”); var server = dgram.createSocket(“udp4”); server.on(“message”, function (msg, rinfo) { console.log("client send: " + msg + " from " + rinfo.address + “:” + rinfo.port); var dgram2 = require(‘dgram’); var message = new Buffer(“i reviced”); var client = dgram2.createSocket(“udp4”); client.send(message, 0, message.length, rinfo.port, rinfo.address, function(err, bytes) { client.close(); }); });

server.on(“listening”, function () { var address = server.address(); console.log(“client connection” + address.address + “:” + address.port); });

server.bind(port,host);

//其中xx是服务器的IP 也就是外网的现在要求是内网连接之后 收到一信息 但是好像上面的代码不灵…

2 回复

内网外网的网卡不一样的吧。绑定0.0.0.0 不要指定host

首先谢谢你的回答 大致 我修改了下代码 如下 var port=12345; var dgram = require(“dgram”); var server = dgram.createSocket(“udp4”); server.on(“message”, function (msg, rinfo) { var dgram2 = require(‘dgram’); var message = new Buffer(“aaaaa”); var client = dgram2.createSocket(“udp4”); client.send(message, 0, message.length, rinfo.port, rinfo.address, function(err, bytes) { client.close(); }); console.log("server got: " + msg + " from " + rinfo.address + “:” + rinfo.port); });

server.on(“listening”, function () { var address = server.address(); console.log("server listening " + address.address + “:” + address.port); }); server.bind(port);

另外的 我用C#模拟了一个客户端 如果是C#的服务端跟客户端互相发送是没问题的.

但是目前是node作为服务端 C#作为客户端 给node发是可以的 但是接收不到…

回到顶部