WebSocket

//  cnpm i ws -S
//  cnpm i pm2 -g
// server.js
var WebSocketServer = require('ws').Server,
wss = new WebSocketServer({ port: 8181 })
wss.on('connection', function (ws) {
    ws.on('message', function (message) {
        console.log('我是被前端触发的', message)
        ws.send('d2')
    })
    setInterval(() => {
        ws.send('d1')
    }, 3000)
})

import React from 'react'
import { Button } from 'antd'
import './styles.less'

export default class Home extends React.Component {
  constructor (props) {
    super(props)
    this.ws = new WebSocket("ws://localhost:8181")
    this.WebSocketTest()   
  }
  WebSocketTest = () => {
    if ('WebSocket' in window) {
        // 打开一个 web socket
        
        this.ws.onopen = () => {
          // Web Socket 已连接上,使用 send() 方法发送数据
          this.ws.send('发送数据')
          console.log("数据发送中...")
        }
        
        this.ws.onmessage = evt => { 
          var received_msg = evt.data
          console.log(received_msg, '333333333')
        }
        
        this.ws.onclose = () => { 
          // 关闭 websocket
          console.log("连接已关闭...") 
        }
    }
  }

  onSend = () => {
    this.ws.send('发送数据')
  }

  render () {
    return (
      <div className="pages-home">
        <Button onClick={this.onSend}>sorket</Button>
      </div>
    )
  }
}


pm2常用命令记录
1. 创建 server.js 拷贝里面所有代码
2. 在项目下运行 pm2 start server.js
3. pm2 logs
4. 拷贝 home/index.jsx里的代码到你们的页面

pm2 stop all  停止所有的node进程

pm2 start xxx.js 启动你的某个node

pm2 logs 查看日志

$ pm2 start app.js # 启动app.js应用程序

$ pm2 start app.js -i 4        # cluster mode 模式启动4个app.js的应用实例

# 4个应用程序会自动进行负载均衡

$ pm2 start app.js --name="api" # 启动应用程序并命名为 "api"

$ pm2 start app.js --watch      # 当文件变化时自动重启应用

$ pm2 start script.sh          # 启动 bash 脚本

$ pm2 list                      # 列表 PM2 启动的所有的应用程序

$ pm2 monit                    # 显示每个应用程序的CPU和内存占用情况

$ pm2 show [app-name]          # 显示应用程序的所有信息

$ pm2 logs                      # 显示所有应用程序的日志

$ pm2 logs [app-name]          # 显示指定应用程序的日志

$ pm2 flush                       # 清空所有日志文件

$ pm2 stop all                  # 停止所有的应用程序

$ pm2 stop 0                    # 停止 id为 0的指定应用程序

$ pm2 restart all              # 重启所有应用

$ pm2 reload all                # 重启 cluster mode下的所有应用

$ pm2 gracefulReload all        # Graceful reload all apps in cluster mode

$ pm2 delete all                # 关闭并删除所有应用

$ pm2 delete 0                  # 删除指定应用 id 0

$ pm2 scale api 10              # 把名字叫api的应用扩展到10个实例

$ pm2 reset [app-name]          # 重置重启数量

$ pm2 startup                  # 创建开机自启动命令

$ pm2 save                      # 保存当前应用列表

$ pm2 resurrect                # 重新加载保存的应用列表

$ pm2 update                    # Save processes, kill PM2 and restore processes

$ pm2 generate                  # Generate a sample json configuration file

pm2文档地址:http://pm2.keymetrics.io/docs/usage/quick-start/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值