CNode

阿里云给的是内网ip ,是不是就没法实现udp连接了?

问答
Yyakczh发布于7 年前最后回复7 年前2 回复3589 浏览0 收藏
var dgram     = require('dgram')
var udp       = dgram.createSocket('udp4')

udp.on('message', function(data, ipdr) {
  console.log('message')
  console.log(data.toString())
  console.log(ipdr)
})

udp.on('error', function(err) {
  console.log('error')
  console.log(arguments)
})

udp.on('listening', function(err) {
  console.log('listening')
  console.log(arguments)
})

udp.bind(8090)
console.log('udp listening on port 8090')


var send = function(message, port, host) {
  console.log('send')
  console.log(arguments)
  udp.send(Buffer.from(message), port || 8090, host || 'localhost')
}

 
if (require.main === module) {
  var port = parseInt(process.argv[2])
  var host = process.argv[3]
  if (port) {
    send('echo', port, host)
  } else {
    send('echo')
  }
}




在本地服务器可以连接,布署在阿里云服务器上用客户端连就没反应

查看回复

回复 (2)

S
siyue543241338#1·7 年前

阿里云的防火墙端口你开了吗 系统防火墙的和云防火墙的

J
jyk0011#2·7 年前

阿里云的端口是要手动开的。否则使用不了,可以问问客服。 另外外网访问的话,必须有公网IP,内网IP肯定不行。内网IP只能供内网访问。

参与回复
登录后即可参与回复。登录