alltolove 发表于 2017-6-3 08:21:38

用node.js建自己个个人聊天网站(三)

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

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

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

我这有一个简单的示意图:

中间的小红框就是ws服务器的客户端,那个大红框是服务器端用的是node.js的ws模块,与我们之前做的完全是两个独立的个体。
首先我们要新建一个空项目,点file-new-project,建好后在项目里用右键点击那个文件夹再建个js文件

文件里写入如下代码:
var WebSocketServer=require('ws').Server;
wss=new WebSocketServer({port:3000});
var msg='';
wss.on('connection',function(ws){
    ws.on('message',function (message) {
      console.log(message);//服务器端接收
      msg+=message;
    });
    ws.send(msg);//向客户端发送
});

然后右键点击那个文件选择运行,应该出现错误,显示找不到ws这个模块。下面我们手动安装一下第三方模块,屏幕左下角点击terminal在里面写入
npm install ws 然后点回车就行了

系统会自动在网上下载相应的模块然后安装到项目目录,在点击运行就成功了。

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

                var ws=new WebSocket('ws://127.0.0.1:3000');
                ws.onmessage = function(evt) { ws.send('hello'); };
               
        }
        </script>
</body>
</html>

控制台出现了hello就算成功了


页: [1]
查看完整版本: 用node.js建自己个个人聊天网站(三)