Javascript Websocket服务器:类型错误ws.send()不是函数

Javascript Websocket服务器:类型错误ws.send()不是函数,javascript,node.js,websocket,serial-port,Javascript,Node.js,Websocket,Serial Port,我开始使用NodeJS。到目前为止一切都很好。直到今天。 我在玩WebSocket,我能够在服务器和浏览器之间建立连接。但是,我不能使用ws.send('something')从服务器向客户端发送消息; 在几乎每一个例子中,我都能找到使用该方法的方法,在我的情况下,它似乎不起作用。 谁能解释一下为什么 const express=require('express'); const path=require('path'); const WebSocket=require('ws')。服务器;

我开始使用NodeJS。到目前为止一切都很好。直到今天。 我在玩WebSocket,我能够在服务器和浏览器之间建立连接。但是,我不能使用ws.send('something')从服务器向客户端发送消息; 在几乎每一个例子中,我都能找到使用该方法的方法,在我的情况下,它似乎不起作用。 谁能解释一下为什么

const express=require('express');
const path=require('path');
const WebSocket=require('ws')。服务器;
const router=express.router();
const SerialPort=require('SerialPort');
常量条形码=新串行端口('COM50'{
波特率:57600
});
//------安装WS---------
var wsport=8085;
var ws=newwebsocket({port:wsport});
ws.on('connection',function open()){
log('已建立ws连接');
//ws.send('something');该行不工作!
});
// !!-- 条形码::发生错误时将错误记录到控制台。
条形码打开('error',函数(err){
console.log('Error:',err.message);
});
条形码.on('数据')功能(数据){
console.log('收到的条形码:',数据);
ws.send(“收到的条形码”);
});
//------安装快车---------
var app=express();//定义应用程序对象
var端口=4000;//指定要侦听的端口
router.get('/',函数(req,res){
res.sendFile(path.join(_dirname+'/public/index.html');
//__dirname:它将解析为您的项目文件夹。
});
路由器.get('/offline',函数(req,res){
res.sendFile(path.join(_dirname+'/public/offline.html');
//__dirname:它将解析为您的项目文件夹。
});
应用程序使用(express.static('public'));
应用程序使用(“/”,路由器);
app.listen(process.env.port | | port);
log('在端口'+端口运行的Web服务器);

module.exports=app这是一个非常常见的错误 这里的问题是

var ws = new WebSocket({port: wsport});

ws.on('connection', function open() {
  console.log('ws connection has been established.');
  // ws.send('something'); this line is not working!
});
作为新Websocket创建的变量在函数中无效

ws.on()
因此,ws不是函数中的有效变量

ws.on()
ws.send()不是函数,因此出现错误


尝试调用ws.on()中的另一个函数,该函数可以访问创建套接字对象的变量ws

在几乎每个示例中,我都可以找到使用该方法的方法,
不是从文档中使用的。IOW:try->
ws.on('connection',function open(ws){
也可能值得将本例中称为ws的变量更改为wss,以匹配文档并避免混淆。