天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

當(dāng)前位置:主頁 > 論文百科 > 英文數(shù)據(jù)庫 >

[NodeJS]使用Node.js寫一個簡單的在線聊天室

發(fā)布時(shí)間:2017-03-26 11:17

  本文關(guān)鍵詞:Node即學(xué)即用,由筆耕文化傳播整理發(fā)布。


聲明:教程來自《Node即學(xué)即用》。源碼案例均出自此書。博文僅為個人學(xué)習(xí)筆記。

第一步:創(chuàng)建一個聊天服務(wù)器。

首先,我們先來寫一個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命令訪問服務(wù)器:

[NodeJS]使用Node.js寫一個簡單的在線聊天室

第二步:監(jiān)聽所有的連接請求

服務(wù)器源代碼:

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') 這里添加了一個事件監(jiān)聽器client.on(),每當(dāng)client發(fā)送data的時(shí)候這個函數(shù)都會被調(diào)用。所以現(xiàn)在不論發(fā)送什么數(shù)據(jù),,服務(wù)器都會顯示出來:

[NodeJS]使用Node.js寫一個簡單的在線聊天室

但是這里有個問題:返回的內(nèi)容均為亂碼,因?yàn)镴S不能很好的處理二進(jìn)制數(shù)據(jù),所以Node增加了一個buffer庫來幫助服務(wù)器。

打印的字符實(shí)際上是16進(jìn)制的字節(jié)數(shù)據(jù),可以保持二進(jìn)制的格式,因?yàn)門CP和Telnet都能處理它們。

第三步:客戶端之間的通信:

var net = require('net') var chatServer = net.createServer() //服務(wù)器 var clientList = [] //客戶端數(shù)組 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') 這個就是一個最簡單的聊天服務(wù)器了,可以打開多個終端,輸入telnet localhost 2333訪問服務(wù)器。

[NodeJS]使用Node.js寫一個簡單的在線聊天室

下一步,改進(jìn)消息發(fā)送和顯示的方式,讓頁面更友善一些。


  本文關(guān)鍵詞:Node即學(xué)即用,由筆耕文化傳播整理發(fā)布。



本文編號:268738

資料下載
論文發(fā)表

本文鏈接:http://sikaile.net/wenshubaike/mishujinen/268738.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權(quán)申明:資料由用戶c075a***提供,本站僅收錄摘要或目錄,作者需要刪除請E-mail郵箱bigeng88@qq.com