ws模块跟dgram模块
启动socket到底用的什么模块,我看到dgram的实例就是一个socket,但是却不能用,使用ws模块就能成功使用socket,但是在官网上又找不到ws模块的信息。求解释
5 回复
dgram是node官方的 https://nodejs.org/dist/latest-v8.x/docs/api/dgram.html ws是第三方的,找不到通信模块什么意思? ws 本身不就是么? ws的例子
const WebSocket = require('ws');
const ws = new WebSocket('ws://www.host.com/path');
ws.on('open', function open() {
ws.send('something');
});
ws.on('message', function incoming(data) {
console.log(data);
});
@im-here 那您知道怎么使用dgram调用socket么? 我调用过调用失败了。
@im-here 会报错 …
@Helovebai 调用?
这个是官网的例子,这里是创建了一个server,通信的话创建一个client连接到这个server,然后send message
,在server端就能收到了
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(41234);
// server listening 0.0.0.0:41234
@Helovebai 1 楼给的是个demo ,你直接用肯定会报错,你得把 ws://www.host.com/path
替换成你实际的ws server才行呀