真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

linuxchat命令的簡單介紹

Linux中 socket聊天室,給客戶端發(fā)消息

//下面是一個實例

賽罕網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站開發(fā)等網(wǎng)站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)公司2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)。

/**????

*?socket.io?chat????

*????

*/????

var?web?=?require('QuickWeb');????

//?undefined????

var?_?=?undefined;?????

/**????

*?創(chuàng)建一個房間????

*????

*?@param?{string}?room?房間名稱????

*?@param?{socket.io}?io?socket.io實例????

*/????

var?Room?=?module.exports?=?function?(room,?io)?{????

//?初始化socket.io實例,僅在第一次創(chuàng)建房間時需要設(shè)置io參數(shù)????

if?(typeof?io?!=?'undefined')????

Room.prototype.io?=?io;????

var?io?=?this.io;????

//?房間成員列表????

var?nicknames?=?this.nicknames?=?{};????

var?onlinesum?=?this.onlinesum?=?0;????

//?握手驗證,如果是登錄用戶,則自動獲取其昵稱????

io.set('authorization',?function?(handshakeData,?callback)?{????

//?通過客戶端的cookie字符串來獲取其session數(shù)據(jù)????

var?sessionObject?=?handshakeData.sessionObject?=?web.session.getByCookie(handshakeData.headers.cookie);????

//?如果不是登錄用戶,則自動為其設(shè)置一個昵稱????

var?nickname?=?sessionObject.data.nickname;????

if?(typeof?nickname?!=?'string'?||?nickname?==?'')????

nickname?=?'#'?+?Math.floor(Math.random()?*?1000)?+?''?+?(new?Date().getTime()?%?86400000);????

sessionObject.data.nickname?=?nickname;????

callback(null,?true);????

});????

/**?連接處理?*/????

var?connectionHandle?=?function?(socket)?{????

onlinesum++;????

//?獲取session????

var?session?=?socket.handshake.sessionObject.data;????

var?nickname?=?session.nickname;????

//?保持session,以免session過期????

var?hold_session?=?socket.handshake.sessionObject.hold;????

/**?刷新在線列表?*/????

refresh_online?=?function?()?{????

var?n?=?[];????

for?(var?i?in?nicknames)????

n.push(i);????

socket.broadcast.emit('online?list',?n);????

socket.emit('online?list',?n);????

}????

//?新成員加入時,通知其他成員????

nicknames[nickname]?=?socket;????

refresh_online();????

socket.broadcast.emit('system?message',?nickname?+?'回來了,大家趕緊去噴他~~');????

/**?公共消息?*/????

socket.on('public?message',?function?(msg,?cb)?{????

hold_session();????

var?timestamp?=?new?Date().getTime();????

socket.broadcast.emit('public?message',?nickname,?msg,?timestamp);????

cb();????

});????

/**?私人消息?*/????

socket.on('private?message',?function?(to,?msg,?cb)?{????

hold_session();????

var?timestamp?=?new?Date().getTime();????

var?err?=?'';????

for?(var?i?in?to)?{????

var?target?=?nicknames[to[i]];????

if?(target)?{????

cb();????

target.emit('private?message',?nickname,?msg,?timestamp);????

}????

else?{????

err?+=?'“'?+?to[i]?+?'”不在線\n';????

}????

}????

if?(err?!=?'')????

cb(err);????

});????

/**?斷開來連接?*/????

socket.on('disconnect',?function?()?{????

delete?nicknames[nickname];????

onlinesum--;????

socket.broadcast.emit('system?message',?nickname?+?'悄悄地離開了。。。');????

refresh_online();????

});????

/**?命令?*/????

socket.on('command',?function?(args,?cb)?{????

if?(args.length??1)?{????

cb('無效的命令');????

return;????

}????

switch?(args[0])?{????

/*?查詢或更改昵稱?*/????

case?'nick':????

var?nick?=?args[1];????

if?(typeof?nick?==?'undefined')????

cb(_,?'你的昵稱是:'?+?nickname);????

else????

if?(nick?==?nickname)????

cb('你的昵稱本來就是“'?+?nick?+?'”嘛,不需要改');????

else?if?(nicknameIsUsed(nick))????

cb('昵稱“'?+?nick?+?'”已被占用');????

else?{????

nicknames[nick]?=?nicknames[nickname];????

delete?nicknames[nickname];????

var?oldnick?=?nickname;????

session.nickname?=?nickname?=?nick;????

cb(_,?'昵稱已更改為“'?+?nick?+?'”');????

//?通知其他人????

refresh_online();????

socket.broadcast.emit('system?message',?'“'?+?oldnick?+?'”的昵稱已改為“'?+?nick?+?'”');????

}????

break;????

/*?在線人數(shù)?*/????

case?'online':????

cb(_,?'當前共有'?+?onlinesum?+?'個人在線');????

break;????

/*?幫助?*/????

default:????

cb(_,?strHelp);????

}????

});????

}????

/*?注冊聊天室?*/????

if?(typeof?room?==?'undefined')????

room?=?'';????

io.of('/'?+?room).on('connection',?connectionHandle);????

/**?檢查昵稱是否被占用?*/????

var?nicknameIsUsed?=?function?(nickname)?{????

for?(var?i?in?nicknames)????

if?(i?==?nickname)????

return?true;????

return?false;????

}????

}????

var?strHelp?=?'輸入$help獲取幫助\n\????

=========?系統(tǒng)命令?========\n\????

**$nick**?[昵稱]?查看或更改昵稱\n\????

**$online**?當前在線人數(shù)\n\????

**$clear**?清空消息\n\????

=========?使用技巧?========\n\????

**給某人發(fā)送消息**?@對方昵稱?消息內(nèi)容(可同時@多個人)\n\????

**發(fā)送圖片**?!圖片url\n\????

**發(fā)送鏈接**?[網(wǎng)址]\n\????

';

在Linux系統(tǒng)下xchat怎么用

xchat是圖形化的軟件,通過命令行應(yīng)該沒法使用,你需要先進入linux的圖形化界面,比如KDE或者是GNOME,然后把軟件安裝一下,應(yīng)該有類似install-sh的腳本,雙擊安裝,然后到安裝目錄運行程序就可以了。

Linux里面chatt +i file命令作用是什么?

應(yīng)該寫錯了吧?是chattr +i file 設(shè)置文件不能進行修改:即你不能刪除它! +就是賦加的意思,i是保護屬性 所以一起就是賦于文件保護屬性 也就是不能進行修改!


新聞標題:linuxchat命令的簡單介紹
分享URL:http://weahome.cn/article/hjcpgs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部