nodejs-websocket 的简单用法和安装

网上很多的websocket我都看不懂,看了个视频才慢慢懂了点

视频链接:https://blog.csdn.net/QQ408896436/article/details/81606553

以下都是根据老师的步伐走的

先打开cmd 或者 powershell 键入 cd 进入服务端的地址,再键入 npm install nodejs-websocket

还有nodejs也要安装 地址:https://nodejs.org/en/

安装成功后,在nodejs-websocket下新建js

js 服务端大致代码:

var ws = require('nodejs-websocket');
var port=3000
var server = ws.createServer(function(conn){
    //受到连接触发//
//在服务端cmd安装npm install nodejs-websocket//
    console.log('new connection');
    conn.on("text",function(str){
        // 收到信息触发     接收 //
        console.log("received"+str)
        boardcast(str) // 广播消息 //
        conn.sendText(str) // 发送 数据 //
    })
    conn.on("close",function(code,reason){
        // 断开连接触发 //
        console.log("connection closed")
    })
    conn.on("error",function(err){
        // 出错触发 //
        console.log("header err")
        console.log(err)
    })
    function boardcast(str){  // 广播 //
    // server.connections  保存每个连接进来的用户 //
    server.connections.forEach(function(conn){   //  .forEach 是调用数组里每个元素  //
    conn.sendText(str)
    })
    }
}).listen(port)
console.log("websocket server listen port is" + port)

 

接下来看看客户端的大致代码:

<html>
   <head>
   <title>first socket</title>
   </head>
   <body>
     <h1>myfitst room</h1>
    <input type="text" id="snedTxt" />
    <button id="sendb">发送</button>
    <div id="recv"></div>
      <script type="text/javascript">
      var ws = new WebSocket("ws://localhost:3000/");// 设置服务器地址 //
      ws.onopen=function(){  // onopen 连接触发 //
        console.log("websocket open");
        document.getElementById("recv").innerHTML="Connected";
                                   //  innerHTML 可以 获取 也可以 插入  //
                     
      }
      ws.onclose=function(){ // onclose 断开触发 //
        console.log("websocket close");
      }
      ws.onmessage =function(e){ // onmessage 接收到信息触发  //
      console.log(e.data);
      document.getElementById("recv").innerHTML = e.data;

      }
      document.getElementById("sendb").οnclick=function(){ // 监测 id=“sendb”的 按钮 触发 onclick 就会发送数据 send // 
        var txt = document.getElementById("snedTxt").value;
        ws.send(txt);
      }
      </script>
   </body>
</html>

 

html 直接运行

js 则要cmd cd到根目录 键入 node 文件名.js

这样就算成功了

 

转载于:https://www.cnblogs.com/upze/p/10630713.html

React前端和Node.js后端之间使用WebSocket连接的方法如下: 1在Node.js服务器端安装websocket库: ```bash npm install websocket ``` 2.在Node.js服务器端创建WebSocket服务器: ```javascript const WebSocket = require('websocket').server; const http = require('http'); const server = http.createServer(function(request, response) { // 处理HTTP请求 }); server.listen(8080, function() { console.log((new Date()) + ' Server is listening on port 8080'); }); wsServer = new WebSocket({ httpServer: server }); // 处理WebSocket连接 wsServer.on('request', function(request) { const connection = request.accept(null, request.origin); console.log('WebSocket connection accepted.'); // 处理WebSocket消息 connection.on('message', function(message) { if (message.type === 'utf8') { console.log('Received Message: ' + message.utf8Data); connection.sendUTF('Hi this is WebSocket server!'); } }); // 处理WebSocket关闭 connection.on('close', function(reasonCode, description) { console.log('WebSocket connection closed.'); }); }); ``` 在此示例中,我们使用了Node.js的HTTP模块和WebSocket库。我们创建了一个HTTP服务器,并将WebSocket服务器绑定到该服务器上。当收到WebSocket连接请求时,我们将打印一条消息,当接收到WebSocket消息时,我们将回复一个消息。当WebSocket连接关闭时,我们将打印一条消息。 3.在React前端中使用WebSocket连接: ```javascript import React, { Component } from 'react'; import logo from './logo.svg'; import './App.css'; import WebSocket from 'websocket'; class App extends Component { constructor(props) { super(props); this.state = { message: '', ws: null }; } componentDidMount() { // 创建WebSocket连接 const ws = new WebSocket('ws://localhost:8080'); ws.onopen = () => { console.log('WebSocket Client Connected'); }; ws.onmessage = (message) => { console.log('Received:', message.data); this.setState({ message: message.data }); }; ws.onclose = () => { console.log('WebSocket closed'); }; this.setState({ ws }); } render() { return ( <div className="App"> <header className="App-header"> <img src={logo} className="App-logo" alt="logo" /> <h1 className="App-title">Welcome to React</h1> </header> <p className="App-intro"> {this.state.message} </p> </div> ); } } export default App; ``` 在React前端中,我们使用了WebSocket库来创建WebSocket连接。我们使用`componentDidMount`方法在组件挂载后创建WebSocket连接。当WebSocket连接打开时,我们将打印一条消息,当接收到WebSocket消息时,我们将更新组件状态以显示该消息。当WebSocket连接关闭时,我们将打印一条消息。 在React前端中,我们只需要提供WebSocket服务器的URL,即可建立WebSocket连接。在此示例中,我们将WebSocket服务器的URL设置为`ws://localhost:8080`,因为我们假设Node.js服务器运行在本地8080端口上。 以上是React前端和Node.js后端之间使用WebSocket连接的基本步骤,你可以根据自己的实际需求进行进一步的开发和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值