Node.js實(shí)現(xiàn)簡(jiǎn)單聊天服務(wù)器
更新時(shí)間:2014年06月20日 10:33:49 投稿:hebedich
Node.js 是一個(gè)基于Chrome JavaScript運(yùn)行時(shí)建立的一個(gè)平臺(tái), 用來(lái)方便地搭建快速的,易于擴(kuò)展的網(wǎng)絡(luò)應(yīng)用,今天我們來(lái)探討下,如何使用node.js實(shí)現(xiàn)簡(jiǎn)單的聊天服務(wù)器
使用Nodejs是如此簡(jiǎn)單的實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的聊天服務(wù)器
實(shí)現(xiàn)代碼如下:
var net = require('net');
var chatServer = net.createServer(),clientList = [];
chatServer.on("connection",function(client){
client.name = client.remoteAddress + ":" + client.remotePort;
client.write("Hi! "+client.name+" \n");
clientList.push(client);
client.on("data",function(data){
//數(shù)據(jù)發(fā)送給客戶(hù)端
broadcast(data,client);
// clientList[i].write(data);
});
client.on("end",function(){
clientList.splice(clientList.indexOf(client),1);
});
client.on("error",function(e){
console.log(e)
});
});
chatServer.listen(9000)
function broadcast(message,client){
var cleanup = [];
for(var i=0;i<clientList.length;i++){
if(client != clientList[i]){
if(clientList[i].writable){
clientList[i].write(client.name = "says:"+message);
}else{
cleanup.push[clientList[i]];
clientList[i].destory();
}
}
}
}
使用過(guò)程就是:
啟動(dòng)js
node chat.js
連接方式:telnet
telnet 127.0.0.1 9000
您可能感興趣的文章:
- nodejs實(shí)現(xiàn)的一個(gè)簡(jiǎn)單聊天室功能分享
- 使用Angular和Nodejs、socket.io搭建聊天室及多人聊天室
- AngularJS+Node.js實(shí)現(xiàn)在線聊天室
- WebSocket+node.js創(chuàng)建即時(shí)通信的Web聊天服務(wù)器
- Node.js中使用socket創(chuàng)建私聊和公聊聊天室
- 使用Meteor配合Node.js編寫(xiě)實(shí)時(shí)聊天應(yīng)用的范例
- 基于Node.js + WebSocket打造即時(shí)聊天程序嗨聊
- Node.js制作簡(jiǎn)單聊天室
- Node.js利用Net模塊實(shí)現(xiàn)多人命令行聊天室的方法
- Nodejs之TCP服務(wù)端與客戶(hù)端聊天程序詳解
相關(guān)文章
node.js中使用q.js實(shí)現(xiàn)api的promise化
這篇文章主要介紹了node.js中使用q.js實(shí)現(xiàn)api的promise化,promise一個(gè)標(biāo)準(zhǔn),它描述了異步調(diào)用的返回結(jié)果,包括正確返回結(jié)果和錯(cuò)誤處理,需要的朋友可以參考下2014-09-09
Thinkjs3新手入門(mén)之添加一個(gè)新的頁(yè)面
Thinkjs 是一個(gè)快速、簡(jiǎn)單的基于MVC和面向?qū)ο蟮妮p量級(jí)Node.js開(kāi)發(fā)框架,下面這篇文章主要給大家介紹了關(guān)于Thinkjs3新手入門(mén)之添加一個(gè)新的頁(yè)面的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2017-12-12
nodejs檢測(cè)因特網(wǎng)是否斷開(kāi)的解決方案
這篇文章主要給大家介紹了關(guān)于nodejs如何檢測(cè)因特網(wǎng)是否斷開(kāi)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用nodejs具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
nodejs制作一個(gè)文檔同步工具自動(dòng)同步到gitee中的實(shí)現(xiàn)代碼
這篇文章主要介紹了nodejs制作一個(gè)文檔同步工具自動(dòng)同步到gitee中,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12
淺析Node.js實(shí)現(xiàn)HTTP文件下載
本文介紹如何用Node.js來(lái)實(shí)現(xiàn)HTTP文件下載,文章以實(shí)例演示所以很詳細(xì),有需要的小伙伴們可以參考學(xué)習(xí)。2016-08-08

