鱼C论坛

 找回密码
 立即注册
查看: 3376|回复: 0

[技术交流] 用node.js建自己个个人聊天网站(三)

[复制链接]
发表于 2017-6-3 08:21:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
有人觉得纳闷,为什么已经有了php等这么方便的服务器编程软件,还要开发个nodejs。其实nodejs只是为了方便前端工程师开发的。

过去前端编程人员只会用javascript,后端只会用php,随着javascript语言的发展jquery等模块的出现,也可以在前端对数据进行处理。一旦维护出现错误后端人员就得找前端的来商量,也分不清是后端的事还是前端的事造成许多麻烦。后来他们就结合了许多编程软件的优点发明了node.js,前端开发人员也会用后端语言,称他们为全栈开发人员,广义上又叫做大前端,公司只要有几个前端人员就可以解决一切问题,既省时又省力,甚至现在出现了用js语言的各种数据库端,比如mongodb,使得前端后端数据库都是同一种编程语法,衔接起来也就比较通畅。

今天我们讲一下聊天网页服务器端的开发(websocket服务器)

我这有一个简单的示意图:
aaaasd.png
中间的小红框就是ws服务器的客户端,那个大红框是服务器端用的是node.js的ws模块,与我们之前做的完全是两个独立的个体。
首先我们要新建一个空项目,点file-new-project,建好后在项目里用右键点击那个文件夹再建个js文件
asdassd.png
文件里写入如下代码:
  1. var WebSocketServer=require('ws').Server;
  2. wss=new WebSocketServer({port:3000});
  3. var msg='';
  4. wss.on('connection',function(ws){
  5.     ws.on('message',function (message) {
  6.         console.log(message);//服务器端接收
  7.         msg+=message;
  8.     });
  9.     ws.send(msg);//向客户端发送
  10. });
复制代码

然后右键点击那个文件选择运行,应该出现错误,显示找不到ws这个模块。下面我们手动安装一下第三方模块,屏幕左下角点击terminal在里面写入
npm install ws 然后点回车就行了
asasds.png
系统会自动在网上下载相应的模块然后安装到项目目录,在点击运行就成功了。

最后我们写个简单的测试网页,测试一下先。用记事本随便建个网页就行以下是代码:
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.         <meta charset="UTF-8">
  5.         <title>Document</title>
  6. </head>
  7. <body>
  8. <button class="btn btn-info" id="send" onclick="sendInput()">send</button>
  9.         <script>
  10.         function sendInput(){

  11.                 var ws=new WebSocket('ws://127.0.0.1:3000');
  12.                 ws.onmessage = function(evt) { ws.send('hello'); };
  13.                
  14.         }
  15.         </script>
  16. </body>
  17. </html>
复制代码

asasasd.png
控制台出现了hello就算成功了


本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-24 15:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表