日期:2014-05-16  浏览次数:20813 次

[nodejs第一问]UDP互联网通讯

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("i recice");
  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);


本地开启12345端口进行收数据

开启另外一C#写的程序进行连接 发送数据..


并且收到消息之后 会回复"i recice" 本次测试通过

但是我把这些代码扔到服务器上之后 连接. 发送数据是没问题的 但是 就是不给我回i recice

求科普
------解决方案--------------------
確定你本機與服務器所在網路狀態,如果你本機在內網,服務器在公網,請用服務器接收信息時獲取到的你本機的公網IP進行通信