本文翻译自Simple Websocket Example with Nodejs
使用Node.js的简单Websocket示例
今天的主题是带有nodejs的WebSocket示例。 WebSocket帮助异步地与客户端通信服务器。服务器和客户端可以同时通信和交换数据。 WebSocket帮助在Web服务器和客户端之间创建实时通信。
jQuery AJAX还可以用于与服务器通信,这只是一种单向通信,只有客户端可以从服务器请求数据。
Websocket提供了服务器与客户端之间的双向通信。WebSocket连接是浏览器(客户端应用)与服务器之间的持久连接。 服务器可以将消息发送到浏览器,浏览器可以通过相同的连接进行响应。
目录
1、使用Node.js的WebSocket入门
- 1.0.1让我们安装ws
- 1.1 创建WebSocket服务器
- 1.2 为WebSocket创建客户端应用程序
使用Node.js的WebSocket入门
WebSocket API是跨平台标准,用于客户端和服务器之间的实时通信.Web套接字协议具有两种类型(ws://和wss://),例如http和https。
客户端应用程序必须具有连接Web套接字和建立连接的能力。我们将创建两个文件–
- server.js:此文件将创建将响应发送到客户端应用程序的服务器。
- client.js:此文件将用于客户端应用程序,并监听来自服务器的响应。
安装ws模块:
npm install ws
创建WebSocket服务器
我们将创建server.js文件,并将以下代码添加到该文件中。
// server.js
const WebSocket = require('ws')
const wss = new WebSocket.Server({ port: 8080 })
wss.on('connection', ws => {
ws.on('message', message => {
console.log(`Received message => ${message}`)
})
ws.send('Hello! Message From Server!!')
})
首先,我们将创建ws连接对象并在8080端口上打开连接。现在,打开命令行并通过以下命令运行服务器–
node server
为WebSocket创建客户端应用程序
我们将创建client.js文件,并将以下代码添加到该文件中–
// client.js
const WebSocket = require('ws')
const url = 'ws://localhost:8080'
const connection = new WebSocket(url)
connection.onopen = () => {
connection.send('Message From Client')
}
connection.onerror = (error) => {
console.log(`WebSocket error: ${error}`)
}
connection.onmessage = (e) => {
console.log(e.data)
}
好的,现在我们将通过以下命令启动客户端服务器。
node client
将客户端成功连接到服务器后,服务器开始将消息发送到客户端应用程序。
运行结果如下如所示:
下面是我在自己的腾讯云主机上运行的结果截图: