999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Nodejs全開放式匿名交流平臺的搭建

2018-02-09 21:30:34李錦濤
科技傳播 2018年3期

李錦濤

摘 要 21世紀是信息的世紀,交流便是獲取信息最簡單而快捷的方式。本文旨在解決在初次見面、匿名溝通等場合下,人們之間交流難以暢所欲言的情景。本文以Nodejs技術搭建了一個全開放式的匿名聊天交流平臺。其中,采用express技術搭建Web服務器,任何用戶通過瀏覽器向后臺發(fā)起http請求,便能接收到一個大幕布,大幕布可匿名呈現(xiàn)所有用戶的相關聊天信息;采用微信公眾號作為中轉(zhuǎn)站,所有關注該特定公眾號并向該公眾號發(fā)送的信息,均由微信后臺服務器轉(zhuǎn)到筆者搭建的后臺服務器,然后再通過Websocket技術廣播到所有的大幕布中。如此,人們之間的交流方式既有了匿名的保障,同時又開放式的呈現(xiàn)所有用戶的聊天內(nèi)容,從而達到良好溝通、表達個人意愿的目的。

關鍵詞 Websocket;node.js;微信墻;交流平臺

中圖分類號 TP3 文獻標識碼 A 文章編號 1674-6708(2018)204-0153-03

隨著科技的飛速發(fā)展,人們的通訊方式也變得更加便捷。根據(jù)美國市場研究公司IDC的報告,2017年全球智能手機出貨量達到15.2億部,而中國智能手機的出貨量達到4.6億部,針對年輕人群來說,幾乎人人手持一部智能手機。由于手機實時通訊軟件的便利,人們交換信息的方式更多的是選擇在手機端完成。

在中國,騰訊的兩款明星產(chǎn)品,微信和QQ已經(jīng)霸占了市場上實時通訊軟件的老大位置。據(jù)騰訊官網(wǎng)報道,2017年微信的月活躍賬戶數(shù)到9.63億,QQ的月活躍賬戶數(shù)則說8.50億。人們智能手機上幾乎都裝有這兩款實時通訊軟件,每天與認識的朋友和不太熟悉的朋友進行信息之間的交流。

然而,微信與QQ這兩款流行的實時通訊軟件在眾多場合下并不具備信息的匿名和信息的全開放式,人們之間的交流受到或多或少的局限。在信息的匿名方面上,例如在班級選舉上,采用同學建QQ群或者微信群,然后大家在群里進行討論、交流、投票。這顯然不是一個特別合適的舉動,因為礙于情面,同學們大都回避以公開的身份來討論誰的優(yōu)缺點,以及是不是該投他一票;又比如,在新生見面交流會,或者班級討論會,一些內(nèi)向的學生在新的環(huán)境下,很難站出來表達自己的觀點。如果,能夠在開放式的平臺下,選擇匿名的方式暢所欲言,對它們而言或許是一個更好的選擇。此外,在信息的全開放式方面上,例如家人想了解一下自己的孩子在學校生活一些討論會,或者某些公開場合下的交流情況的時候,不太可能讓家人加入各種微信群或者QQ群,那么家人就無法獲取同學們的聊天信息。針對這種公開的場合和活動,如果能過讓眾多家長獲取孩子在學習的表現(xiàn),不僅增加了長備與孩子之間的話題,也讓家人對孩子的成才給點自己的建議。

為了解決目前市面上實時通訊系統(tǒng)在匿名方式和全開放式方面上,人們交流方式潛在的不適應性,本文基于Nodejs搭建一個全開放式匿名交流的平臺,在特定場合下,全方面的滿足人們之間獲取信息、交換信息的便利性。其中,本系統(tǒng)應該具備以下兩個主要特點:1)對所有用戶全方位開放:任何用戶可以隨時在平臺上獲取當前所有用戶討論的最新消息;2)對發(fā)布信息的所有者實時匿名,以保障個人信息不被泄露。

1 系統(tǒng)總體框架設計

本文采用Nodejs[1-2]搭建了后臺服務器,其中Web端采用express框架編寫。如圖1所示,用戶通過智能手機(Android系統(tǒng)或者蘋果系統(tǒng))關注某個特定微信公眾號來與后代服務器綁定,微信后臺服務器作為用戶與我搭建的后臺服務器的中轉(zhuǎn)橋梁。具體通訊流程如下:

首先,任何用戶可以在任何有網(wǎng)絡資源的地方通過瀏覽器訪問后臺服務器(向服務器118.190.27.173:8000發(fā)送http請求,其中端口號為8000);此時,后臺服務器返回給用戶一個大幕布,即html頁面,該頁面包含了后臺服務器進行Websocket通信的代碼。

其次,進行微信公眾號與后臺服務器進行綁定綁定,即往該特定公眾號發(fā)送的所有內(nèi)容均被微信公眾號服務器所管理,然后再轉(zhuǎn)給我自己搭建的后臺服務器。

最后,所有關注該特定微信公眾號的用戶,往微信公眾號發(fā)送信息,均間接轉(zhuǎn)到搭建的后臺服務器,然后通過Websocket的方式,廣播給所有打開大幕布的用戶。

2 主要模塊介紹

2.1 express模塊

Express[3]模塊是一個基于Nodejs平臺的簡化版Web應用開發(fā)框架,可以用短短幾行代碼搭建一個簡易版的Web平臺,可以影響http的請求,并返給瀏覽器一個html的頁面,在本文中,則是返回一個大幕布,可以匿名呈現(xiàn)用戶者的聊天信息。其中,在Nodejs中采用npm包管理模塊來統(tǒng)一管理開源的第三方包。因此,可以采用npm來下載express相應的包,命令如下:

npm install expresss--save和npm install express-generator

用了短短9行的代碼,便成功搭建了一個迷你型的web后臺服務器。其中,代碼概要解釋如下:

1)var express =require(‘express);

2)var app=express();

3)app.use(express.static(__dirname+/ client));

4)app.use(function (req,res){

5)res.sendFile(__dirname+/client/ index.html)});

6)var server=app.listen(8000, function() {

7)console.log(‘a(chǎn)pp is running at port 8000!);});endprint

第1行,引入剛剛才有npm包管理器下載好的express包;

第2行,實例化express對象,并命名為app變量;

第3行,掛載本地靜態(tài)文件目錄,其中大幕布html文件就放置在其目錄下;

第4~5行,掛載一個匿名函數(shù),該函數(shù)監(jiān)聽客戶端的http請求,若用戶在瀏覽器發(fā)起http請求,則調(diào)用該函數(shù),并完成將本地靜態(tài)文件路徑下的大幕布html文件(即index.html)返回給用戶。此時,用戶可以收到一個干凈的大幕布,里面還沒有顯示用戶者的聊天內(nèi)容。

第6~7行:開啟Web服務器的監(jiān)聽,監(jiān)聽的端口號為8000。因為該服務器的IP地址為118.190.27.173,Web監(jiān)聽的端口號為8000。因此,如果用戶在瀏覽器發(fā)起http://118.190.27.173:8000的請求,Web服務器便能實時響應。

2.2 Websocket

Websocket[4-5]是一種應用層協(xié)議,旨在為web應用程序客戶端和服務器之間提供一種全雙工的通信機制。本項目中,由大幕布html網(wǎng)頁向后臺服務器發(fā)起websocket通信,具體代碼如下:

v a r w s = n e w W e b S o c k e t (‘ws://118.190.27.173:9530);

ws.onmessage = function(event){

//do something

}

其中,采用9530端口號與后臺服務器進行通信,ws為返回的對象。然后ws通過調(diào)用onmessage函數(shù)來監(jiān)聽后臺服務器是否發(fā)生廣播事件(服務器后臺wss.Broadcast(data)來進行廣播),若收到廣播的數(shù)據(jù),則數(shù)據(jù)保存在event變量中,然后進行后續(xù)數(shù)據(jù)的處理。本項目中數(shù)據(jù)保護用戶的微信人頭像和用戶往特定微信公眾號發(fā)送的內(nèi)容,經(jīng)過簡單后續(xù)處理,以倒序的形式顯示在大幕布中。

3 項目效果展示

首先,在瀏覽器中發(fā)起http://118.190.27.173:8000請求,此時后臺服務器監(jiān)聽到8000端口有用戶發(fā)來的http請求,便響應客戶端的請求,返回一個html頁面,即一個空白的大幕布。

接著,同時關注了yezhenxu001的接口測試號的用戶A和用戶B開始往公眾號發(fā)送消息,具體內(nèi)容如圖2所示,此時微笑公眾號后臺將消息轉(zhuǎn)發(fā)給我自己搭建的后臺服務器。值得注意的是,用戶A與用戶B是互相不認識的,而且沒有互相添加為好友。

最后,大幕布可以實時更新呈現(xiàn)用戶之間的所有當前聊天內(nèi)容,具體如圖3所示。可以看出,用戶A和用戶B的聊天記錄均在大幕布中所呈現(xiàn),而去用戶的個人信息得到了匿名,只能看到個人微信頭像。當然如果想進一步提高匿名的程度,可以把個人微信頭像給隱藏掉。如此一來,一方面,用戶的個人隱私得到了有效的保障;另一方面,所有想關注用戶之間的相關聊天信息,可以通過向后臺服務器發(fā)起http請求,得到大幕布,然后展示用戶者的當前聊天記錄。

4 結(jié)論

文章分析了當前主流及時通信軟件微信和QQ在某些特定場合下不適應的情況,并針對該場景設計了一款全開放式匿名交流平臺。在實際應用中,不僅方便了用戶之間匿名交流的需求,同時也極大地滿足了對該聊天內(nèi)容感興趣的用戶群體。因此,該平臺在用戶交流需求中具有較大的實際應用價值。

參考文獻

[1]程桂花,沈煒,何松林,等.Node.js中Express框架路由機制的研究[J].工業(yè)控制計算機,2016(8):101-102.

[2]崔瑩,劉兵.Node.js與Express技術在計算機課程教學中的應用[J].軟件導刊,2016,15(9):190-192.

[3]http://www.expressjs.com.cn/ express官方網(wǎng)站.

[4]單振華,王舒憬,強杰.基于Websocket的智能家居遠程控制系統(tǒng)的實現(xiàn)[J].電子技術應用,2017,43(10):124-127.

[5]http://www.52im.net/thread-331-1-1.html“WebSocket詳解(一):初步認識WebSocket技術.endprint

主站蜘蛛池模板: 日本黄网在线观看| 伊人天堂网| 99草精品视频| 无码免费试看| 伊人天堂网| 国产精品欧美在线观看| 都市激情亚洲综合久久| 又猛又黄又爽无遮挡的视频网站| 国产精品分类视频分类一区| 国产高清又黄又嫩的免费视频网站| 亚洲无码高清视频在线观看| 久久精品国产91久久综合麻豆自制| 亚洲毛片在线看| 欧美日韩高清| 亚洲乱码在线视频| 久久婷婷五月综合97色| 国产主播在线一区| 久久精品国产精品青草app| 91年精品国产福利线观看久久| 国产日韩精品欧美一区喷| 小说 亚洲 无码 精品| 91国语视频| 特级精品毛片免费观看| 午夜毛片福利| 天天摸夜夜操| 色九九视频| 日韩午夜片| 亚洲av色吊丝无码| 人妻一区二区三区无码精品一区| 欧美日本视频在线观看| 91www在线观看| 日韩天堂网| 福利一区在线| 综合色婷婷| 国产浮力第一页永久地址| 91亚洲视频下载| 中文字幕在线观| 全免费a级毛片免费看不卡| 播五月综合| 亚洲无码精品在线播放| 欧美精品影院| 亚洲精品国产精品乱码不卞 | 国产经典免费播放视频| 91精品aⅴ无码中文字字幕蜜桃| 精品一区二区三区视频免费观看| 国产精品视频公开费视频| 亚洲无线视频| 国产麻豆福利av在线播放| 五月婷婷丁香色| 中文字幕日韩欧美| 免费A∨中文乱码专区| 久久人人妻人人爽人人卡片av| 中文字幕波多野不卡一区| 国产精品三级专区| 9啪在线视频| 一级高清毛片免费a级高清毛片| 国产91高跟丝袜| 日韩精品久久无码中文字幕色欲| 欧美97色| 搞黄网站免费观看| 午夜精品影院| 亚洲欧美自拍视频| a亚洲视频| 成人在线观看一区| 国产www网站| 久久特级毛片| 丝袜国产一区| 18禁不卡免费网站| 2019国产在线| 99热这里只有精品2| 亚洲综合色区在线播放2019| 国产成人综合久久精品尤物| 国产精品55夜色66夜色| 91久久夜色精品国产网站| 青草国产在线视频| 9丨情侣偷在线精品国产| 一级毛片免费观看不卡视频| 91高清在线视频| 国产人成乱码视频免费观看| 欧美国产日韩在线| 蜜芽一区二区国产精品| 欧美激情视频一区|