简体   繁体   English

使用'connection'关键字连接到Node JS websocket的问题

[英]Issues connecting to Node JS websocket using 'connection' keyword

I am setting up a peer to peer server for a blockchain project which leverages the Node JS ws websocket client. 我正在为一个利用Node JS ws websocket客户端的区块链项目建立对等服务器。 For whatever reason, the arrow function in my server.on(...) call does not execute. 无论出于什么原因,我的server.on(...)调用中的arrow函数都不会执行。 When I change the keyword to 'listen' however, the function executes. 但是,当我将关键字更改为“侦听”时,该函数执行。 Please help :P. 请帮忙:P。

p2p-server.js: P2P-server.js:

 const Websocket = require('ws'); const P2P_PORT = process.env.P2P_PORT || 5001; const peers = process.env.peers ? process.env.PEERS.split(',') : []; // HTTP_PORT=3002 P2P_PORT=5003 PEERS=ws://localhost:5001,ws://localhost:5002 npm run dev // HTTP_PORT=3002 P2P_PORT=5002 PEERS=ws://localhost:5001 npm run dev class P2pServer { constructor (Blockchain) { this.blockchain = Blockchain; this.sockets = []; } listen() { const server = new Websocket.Server({ port: P2P_PORT }); // server.on('connection', socket => this.connectSocket(socket)); server.on('connection', socket => this.connectSocket(socket)); // this.connectToPeers(); console.log(`Listening for peer-to-peer connections on: ${P2P_PORT}`); } // connectToPeers() { // peers.forEach(peer => { // const socket = new Websocket(peer); // socket.on('open', () => this.connectSocket(socket)); // }); // } connectSocket(socket) { this.sockets.push(socket); console.log('Socket connected.') } } module.exports = P2pServer; 

index.js: index.js:

 // REST API const express = require('express'); const bodyParser = require('body-parser'); const BlockChain = require('../blockchain'); const P2pServer = require('./p2p-server'); const HTTP_PORT = process.env.HTTP_PORT || 3001; const app = express(); const bc = new BlockChain(); const p2pServer = new P2pServer(bc) app.use(bodyParser.json()); app.get('/blocks', (req, res) => { res.json(bc.chain); }); app.post('/mine', (req, res) => { const block = bc.addBlock(req.body.data); console.log(`New block added: ${block.toString()}`); res.redirect('/blocks'); }) app.listen(HTTP_PORT, () => console.log(`Listening on port ${HTTP_PORT}`)); p2pServer.listen(); 

simple syntax error messed me up in line 3. 简单的语法错误使我在第3行中感到困惑。

This... 这个...

 const peers = process.env.peers ? process.env.PEERS.split(',') : []; 

should have been this... 应该是这个...

 const peers = process.env.PEERS ? process.env.PEERS.split(',') : []; 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 OpenShift Node.js WebSocket服务器连接问题 - OpenShift Node.js WebSocket server connection issues 与webs.js服务器的PHP websocket连接 - PHP websocket connection to node.js server 维护 websocket 与 Discord - Node.js 的连接 - Maintain websocket connection with Discord - Node.js 为什么我不能在运行由Openshift托管的Node.js + Websocket的服务器上获取连接客户端的IP地址(使用WebSocket-Node) - Why can't I get the connecting client's ip address on my server running Node.js + Websocket hosted by Openshift (Using WebSocket-Node) 使用 sequelize ORM 连接到 node.js 上的 Amazon RDS Postgres 数据库的问题 - Issues connecting to Amazon RDS Postgres database on node.js using sequelize ORM 使用React和axios前端连接到我的Node.js和MongoDB后端的问题 - Issues connecting to my Node.js and MongoDB backend using a React and axios front end 用于连接到不同 WebSocket 服务器的多个 WebSocket 客户端的 Node.js 集群? - Node.js Cluster for Multiple WebSocket Clients Connecting to Different WebSocket Servers? 如何使用节点JS连接外部websocket? - How to connect to a external websocket using node JS? 连接到测试Websocket服务器有效,但是连接到我的Node.js服务器失败 - Connecting to a test websocket server works, but connecting to my Node.js server fails Node.js WebSocket服务器和TCP服务器连接 - Node.js websocket-server and tcp-server connection
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM