簡體   English   中英

使用'connection'關鍵字連接到Node JS websocket的問題

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

我正在為一個利用Node JS ws websocket客戶端的區塊鏈項目建立對等服務器。 無論出於什么原因,我的server.on(...)調用中的arrow函數都不會執行。 但是,當我將關鍵字更改為“偵聽”時,該函數執行。 請幫忙:P。

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:

 // 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(); 

簡單的語法錯誤使我在第3行中感到困惑。

這個...

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

應該是這個...

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM