【发布时间】:2019-12-28 12:46:19
【问题描述】:
我已经用 C 语言编写了一个 UDP 服务器,我正在尝试使用以下客户端代码从 nodejs 连接到它:
const dgram = require('dgram');
const server = dgram.createSocket('udp4');
server.on('error', (err) => {
console.log(`server error:\n${err.stack}`);
server.close();
});
server.on('message', (msg, rinfo) => {
console.log(`server got: ${msg} from ${rinfo.address}:${rinfo.port}`);
});
server.on('listening', () => {
const address = server.address();
console.log(`server listening ${address.address}:${address.port}`);
});
server.bind(3000);
服务器也在 3000 端口上运行,执行 nodejs 代码时出现此错误:
client error:
Error: bind EADDRINUSE 0.0.0.0:3000
at state.handle.lookup (dgram.js:242:18)
at process._tickCallback (internal/process/next_tick.js:63:19)
at Function.Module.runMain (internal/modules/cjs/loader.js:745:11)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3
为什么会这样?
谢谢
【问题讨论】: