【linux环境搭建】使用nodejs搭建websocket服务器

1 前言

在腾讯云服务器上使用nodejs搭建websocket服务器。

2 准备工作

2.1 安装nodejs

安装环境
sudo apt install nodejs

执行whereis nodejs
找到bin文件路径
在这里插入图片描述

bin文件路径如下

在这里插入图片描述
在etc/profile中添加环境
在这里插入图片描述

2.2 安装npm

sudo apt install npm
sudo npm install ws
sudo npm install forever
在这里插入图片描述

3 打开端口

在这里插入图片描述
在腾讯云防火墙中添加3001的端口

4 编写websocket服务端——js

在这里插入图片描述
我是在date目录下创建了nodejs文件夹,然后将编写js文件,存为demo.js
代码来源:websocket 学习–简单使用,nodejs搭建websocket服务器,到模拟股票,到实现聊天室

demo.js

var WebSocketServer = require('ws').Server,
wss = new WebSocketServer({ port: 3001});
wss.on('connection', function (ws) {
    console.log('client connected');
    ws.on('message', function (message) {
        console.log(message);
		ws.send("服务端接收到请求后,发送给客户端的数据");
    });
	
});

注意使用的端口和设定的一致。

然后执行命令运行,可以使用forever去运行js

forever start demo.js

注意js可能需要路径,看你当前在哪个目录下。

4.1 测试websocket服务端

http://oktools.net/websocket
这个网址可以测试你的websocket服务端是否可以被连接。

在这里插入图片描述

5 编写wesocket客户端——html

安装apach2,搭建web服务器
在var/www/html目录下编写需要的html文件
在这里插入图片描述
其中index.html是你的服务器的公网ip访问的网址
我编写的在test目录下
在这里插入图片描述
所以我的访问网址是

http://your_public_ip/test/websocket_test.html

需要输入你的公网ip代替your_public_ip

代码来源:websocket简介,nodejs做服务端的websocket,用nodejs实现websocket和socket_io整合的server端与client端
注意要填写代码中的"ws://公网ip:端口"

<html>
<head>
    <meta charset="utf-8"/>
    <title>websocket</title>
</head>
<body>
    <h1>Echo test</h1>
    <input id="sendTxt" type="text"/>
    <button id="sendBtn">发送</button>
    <div id="recv"></div>
    <script type="text/javascript">
        var websocket = new WebSocket("ws://公网ip:端口");
        websocket.onopen = function(){
            console.log('websocket open');
            document.getElementById('recv').innerHTML = 'Connected';
        }

        websocket.onclose = function(){
            console.log('websocket close');
        }

        websocket.onmessage = function(event){
            console.log(event.data);
            document.getElementById('recv').innerHTML = event.data;
        }

        document.getElementById('sendBtn').onclick = function(){
            var txt = document.getElementById('sendTxt').value;
            websocket.send(txt);

        }
    </script>
</body>
</html>

在这里插入图片描述
最终呈现的是如下画面
在这里插入图片描述

6 查看端口使用情况

lsof -i:3001
在这里插入图片描述

如图可以看到第一个作为监听,以及第二个是网页。
你可以尝试用http://oktools.net/websocket连通后再查看,会多出来一个。

7 运行结果

在你的客户端输入aaa,查看console。
在这里插入图片描述

8 遇到的问题

Error: listen EADDRNOTAVAIL: address not available
未连通,可以看看你的防火墙是否打开

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建一个类似QQ的聊天服务器,可以考虑使用开源的即时通讯框架,如Openfire、ejabberd等。这些框架支持各种聊天协议,如XMPP、WebSocket等。 以下是使用Openfire搭建聊天服务器的步骤: 1. 安装Java环境 Openfire是基于Java开发的,所以需要先安装Java环境。在Linux系统中,可以使用以下命令安装: ``` sudo apt-get update sudo apt-get install default-jre ``` 2. 下载Openfire 在Openfire官网下载最新版本的Openfire,然后将下载的文件解压到指定目录。 ``` wget https://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_4.6.0_all.deb sudo dpkg -i openfire_4.6.0_all.deb ``` 3. 启动Openfire 在终端中输入以下命令启动Openfire服务: ``` sudo /etc/init.d/openfire start ``` 4. 配置Openfire 在浏览器中输入`http://localhost:9090`,进入Openfire的管理界面。在第一个页面中,选择“安装Openfire”,然后按照向导进行配置。 5. 创建用户 在Openfire管理界面中,进入“用户/用户”页面,点击“创建新用户”按钮,创建一个或多个用户。 6. 安装聊天客户端 为了能够连接到Openfire服务器,需要安装一个聊天客户端。可以选择开源的Pidgin、Spark等客户端,也可以选择商业的客户端,如Spark IM、Miranda等。 7. 连接服务器 在聊天客户端中,输入Openfire服务器的IP地址和端口号(默认为5222),输入创建的用户名和密码即可连接到服务器,开始聊天。 以上就是使用Openfire搭建聊天服务器的基本步骤。需要注意的是,为了确保服务器的安全性,需要进行相应的安全配置和防火墙设置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值