摘要:聊天室的鏈接已經(jīng)失效因?yàn)槲也渴鹆艘粋€(gè)新的網(wǎng)站,歡迎大家訪問在搭建簡(jiǎn)單的網(wǎng)頁(yè)聊天室框架這篇文章中,我們簡(jiǎn)單實(shí)現(xiàn)了一個(gè)聊天室,我又花了一些時(shí)間寫了個(gè)稍微復(fù)雜一點(diǎn)點(diǎn)的,大家可以通過進(jìn)入聊天室或訪問。
聊天室的鏈接已經(jīng)失效!因?yàn)槲也渴鹆艘粋€(gè)新的網(wǎng)站,歡迎大家訪問mytodo.vip
在websocket搭建簡(jiǎn)單的網(wǎng)頁(yè)聊天室框架這篇文章中,我們簡(jiǎn)單實(shí)現(xiàn)了一個(gè)websocket聊天室,我又花了一些時(shí)間寫了個(gè)稍微復(fù)雜一點(diǎn)點(diǎn)的,大家可以通過http://180.76.50.50/進(jìn)入聊天室或訪問GitHub。
進(jìn)入這個(gè)聊天室后,輸入名字和內(nèi)容就可以發(fā)送消息了,其他所有連接了的客戶端都能收到消息,并且支持頭像顯示(從設(shè)定的9張圖片里選擇),背景色區(qū)分是自己發(fā)的內(nèi)容還是別人發(fā)的內(nèi)容(后端通過IP判斷)。截圖如下:
歡迎大家訪問~
簡(jiǎn)單再說一下一些細(xì)節(jié)的及其實(shí)現(xiàn):
1.當(dāng)名字和內(nèi)容有一個(gè)為空時(shí),無法發(fā)送信息,對(duì)應(yīng)的文本框outline顏色為紅色(有內(nèi)容則為藍(lán)色),點(diǎn)擊發(fā)送時(shí)焦點(diǎn)會(huì)回到空的文本框中,發(fā)送的信息字?jǐn)?shù)超過200時(shí),字?jǐn)?shù)統(tǒng)計(jì)處顏色變紅,且發(fā)送按鈕變成disabled狀態(tài),這部分是通過AngularJS實(shí)現(xiàn)的。
2.點(diǎn)擊姓名文本框左邊的小頭像彈出頭像選擇框如圖,實(shí)際上這是一個(gè)隱藏了的 3.本例中,發(fā)送一條信息后,服務(wù)器接受到了信息,并不是通過websocket返回信息內(nèi)容給所有客戶端,而是服務(wù)器收到并保存了信息之后,發(fā)送一條不帶數(shù)據(jù)的websocket消息給所有客戶端,客戶端收到這條消息再發(fā)送普通的http請(qǐng)求給服務(wù)器,要求返還最近一條保存的信息,服務(wù)器通過該http請(qǐng)求的IP判斷客戶端是否是發(fā)送信息的那個(gè)客戶端,并給信息加上status屬性(self或other)返回給客戶端,客戶端瀏覽器渲染時(shí)根據(jù)status給信息內(nèi)容添加不同的背景(綠色或灰色)。 2018年3月19日,增加回車發(fā)送消息的功能,并對(duì)js代碼進(jìn)行了壓縮,GitHub可看源碼。 文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。 轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/44553.html
摘要:因?yàn)橹挥泄芾韱T才能看到所有的聊天記錄,我把驗(yàn)證方式放在了的中,如圖中表示查看最近條聊天記錄,是驗(yàn)證身份,是我設(shè)置的密碼。 聊天室的鏈接已經(jīng)失效!因?yàn)槲也渴鹆艘粋€(gè)新的網(wǎng)站,歡迎大家訪問mytodo.vip 作為聊天室http://180.76.50.50/的管理員,我要看到所有的聊天記錄,可以在后臺(tái)查找數(shù)據(jù)庫(kù)數(shù)據(jù),但現(xiàn)在這個(gè)聊天室的數(shù)據(jù)是放在遠(yuǎn)程linux服務(wù)器的MongoDB中的,登...
摘要:我們要做一個(gè)網(wǎng)頁(yè)版的聊天室,當(dāng)一個(gè)人發(fā)送了消息時(shí),其他人怎么能看到這條信息呢有一個(gè)做法就是在網(wǎng)頁(yè)中不斷的運(yùn)行,發(fā)送給服務(wù)器,服務(wù)器不斷返回,當(dāng)有新的消息時(shí)顯示在頁(yè)面上。這樣做毫無疑問會(huì)產(chǎn)生大量的連接,對(duì)服務(wù)器的性能和帶寬都有影響。 http協(xié)議,是客戶端每發(fā)送一個(gè)request,服務(wù)器返回一個(gè)response,無法做到服務(wù)器主動(dòng)向客戶端發(fā)送數(shù)據(jù)。我們要做一個(gè)網(wǎng)頁(yè)版的聊天室,當(dāng)一個(gè)人發(fā)送...
摘要:我們要做一個(gè)網(wǎng)頁(yè)版的聊天室,當(dāng)一個(gè)人發(fā)送了消息時(shí),其他人怎么能看到這條信息呢有一個(gè)做法就是在網(wǎng)頁(yè)中不斷的運(yùn)行,發(fā)送給服務(wù)器,服務(wù)器不斷返回,當(dāng)有新的消息時(shí)顯示在頁(yè)面上。這樣做毫無疑問會(huì)產(chǎn)生大量的連接,對(duì)服務(wù)器的性能和帶寬都有影響。 http協(xié)議,是客戶端每發(fā)送一個(gè)request,服務(wù)器返回一個(gè)response,無法做到服務(wù)器主動(dòng)向客戶端發(fā)送數(shù)據(jù)。我們要做一個(gè)網(wǎng)頁(yè)版的聊天室,當(dāng)一個(gè)人發(fā)送...
摘要:官網(wǎng)地址聊天機(jī)器人插件開發(fā)實(shí)例教程一創(chuàng)建插件在系統(tǒng)技巧使你的更加專業(yè)前端掘金一個(gè)幫你提升技巧的收藏集。我會(huì)簡(jiǎn)單基于的簡(jiǎn)潔視頻播放器組件前端掘金使用和實(shí)現(xiàn)購(gòu)物車場(chǎng)景前端掘金本文是上篇文章的序章,一直想有機(jī)會(huì)再次實(shí)踐下。 2道面試題:輸入U(xiǎn)RL按回車&HTTP2 - 掘金通過幾輪面試,我發(fā)現(xiàn)真正那種問答的技術(shù)面,寫一堆項(xiàng)目真不如去刷技術(shù)文章作用大,因此刷了一段時(shí)間的博客和掘金,整理下曾經(jīng)被...
閱讀 3068·2021-09-22 15:59
閱讀 1319·2021-08-30 09:46
閱讀 2282·2019-08-30 15:54
閱讀 2021·2019-08-26 12:15
閱讀 2547·2019-08-26 12:09
閱讀 1346·2019-08-26 11:57
閱讀 3344·2019-08-23 17:11
閱讀 1893·2019-08-23 15:59