当前位置:主页 > 论文百科 > 英文数据库 >

[NodeJS]使用Node.js写一个简单的在线聊天室

发布时间:2017-03-26 11:17

  本文关键词:Node即学即用,由笔耕文化传播整理发布。


声明:教程来自《Node即学即用》。源码案例均出自此书。博文仅为个人学习笔记。

第一步:创建一个聊天服务器。

首先,我们先来写一个Server:

var net = require('net') var chatServer = net.createServer() chatServer.on('connection',function(client){ client.write('connection~~~\n') client.end() }) chatServer.listen(2333) console.log('Server') 可以使用telnet命令访问服务器:

[NodeJS]使用Node.js写一个简单的在线聊天室

第二步:监听所有的连接请求

服务器源代码:

var net = require('net') var chatServer = net.createServer() chatServer.on('connection',function(client){ client.write('Hello~~\n') client.on('data',function(data){ console.log(data); }) }) chatServer.listen(2333) console.log('Server') 这里添加了一个事件监听器client.on(),每当client发送data的时候这个函数都会被调用。所以现在不论发送什么数据,,服务器都会显示出来:

[NodeJS]使用Node.js写一个简单的在线聊天室

但是这里有个问题:返回的内容均为乱码,因为JS不能很好的处理二进制数据,所以Node增加了一个buffer库来帮助服务器。

打印的字符实际上是16进制的字节数据,可以保持二进制的格式,因为TCP和Telnet都能处理它们。

第三步:客户端之间的通信:

var net = require('net') var chatServer = net.createServer() //服务器 var clientList = [] //客户端数组 chatServer.on('connection',function(client){ client.write('Hello~Client~\n') clientList.push(client) client.on('data',function(data){ for (var i = 0; i < clientList.length; i++) { clientList[i].write(data) }; }) }) chatServer.listen(2333) console.log('Server') 这个就是一个最简单的聊天服务器了,可以打开多个终端,输入telnet localhost 2333访问服务器。

[NodeJS]使用Node.js写一个简单的在线聊天室

下一步,改进消息发送和显示的方式,让页面更友善一些。


  本文关键词:Node即学即用,由笔耕文化传播整理发布。



本文编号:268738

资料下载
论文发表

本文链接:https://www.wllwen.com/wenshubaike/mishujinen/268738.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户c075a***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com