Js WebSocket

<html>
<head>
<script type="text/javascript">
var ws = new WebSocket("ws://localhost:7272");
//申請(qǐng)一個(gè)WebSocket對(duì)象,參數(shù)是服務(wù)端地址,同http協(xié)議使用http://開頭一樣病梢,WebSocket協(xié)議的url使用ws://開頭断部,另外安全的WebSocket協(xié)議使用wss://開頭
ws.onopen = function(){
  //當(dāng)WebSocket創(chuàng)建成功時(shí),觸發(fā)onopen事件
console.log("open");
  ws.send("hello"); //將消息發(fā)送到服務(wù)端
}

ws.onmessage = function(e){
  //當(dāng)客戶端收到服務(wù)端發(fā)來(lái)的消息時(shí),觸發(fā)onmessage事件匪煌,參數(shù)e.data包含server傳遞過(guò)來(lái)的數(shù)據(jù)
var data = JSON.parse(e.data);
switch(data['type']){
// 服務(wù)端ping客戶端
case 'ping':
ws.send('{"type":"pong"}');
console.log("ping: "+e.data);
break;;
// 登錄 更新用戶列表
case 'login':
console.log("login: "+e.data);
//{"type":"login","client_id":xxx,"client_name":"xxx","client_list":"[...]","time":"xxx"}
/say(data['client_id'], data['client_name'], data['client_name']+' 加入了聊天室', data['time']);
if(data['client_list'])
{
client_list = data['client_list'];
}
else
{
client_list[data['client_id']] = data['client_name'];
}
flush_client_list();
console.log(data['client_name']+"登錄成功");
/
break;
// 發(fā)言
case 'say':
console.log("say: "+e.data);
//{"type":"say","from_client_id":xxx,"to_client_id":"all/client_id","content":"xxx","time":"xxx"}
//say(data['from_client_id'], data['from_client_name'], data['content'], data['time']);
break;
// 用戶退出 更新用戶列表
case 'logout':
console.log("logout: "+e.data);
//{"type":"logout","client_id":xxx,"time":"xxx"}
// say(data['from_client_id'], data['from_client_name'], data['from_client_name']+' 退出了', data['time']);
//delete client_list[data['from_client_id']];
// flush_client_list();
}
}
ws.onclose = function(e){
  //當(dāng)客戶端收到服務(wù)端發(fā)送的關(guān)閉連接請(qǐng)求時(shí)豹爹,觸發(fā)onclose事件
  console.log("close");
}

ws.onerror = function(e){
  //如果出現(xiàn)連接裆悄、處理、接收臂聋、發(fā)送數(shù)據(jù)失敗的時(shí)候觸發(fā)onerror事件
  console.log(error);
}

function login()
{
console.log("login:111");
var login_data = '{"type":"login","client_name":"zyx","room_id":"1"}';
console.log("websocket握手成功光稼,發(fā)送登錄數(shù)據(jù):"+login_data);
ws.send(login_data);
}

function send()
{
console.log("send:111");
ws.send('{"type":"say","to_client_id":"all","to_client_name":"222","content":"txt"}');
}

function send2()
{
console.log("send:111");
ws.send('{"type":"say","to_client_id":"7f00000108fc00000011","to_client_name":"222","content":"txt"}');
}

</script>
</head>
<body>
<div onclick="login()" style="width:100px;height:80px;">
登錄
</div>

<div onclick="send()" style="width:100px;height:80px;">
發(fā)送
</div>

<div onclick="send2()" style="width:100px;height:80px;">
發(fā)送2
</div>
</body>
</html>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市孩等,隨后出現(xiàn)的幾起案子艾君,更是在濱河造成了極大的恐慌,老刑警劉巖肄方,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腻贰,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡扒秸,警方通過(guò)查閱死者的電腦和手機(jī)播演,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)伴奥,“玉大人写烤,你說(shuō)我怎么就攤上這事∈搬悖” “怎么了洲炊?”我有些...
    開封第一講書人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)尼啡。 經(jīng)常有香客問(wèn)我暂衡,道長(zhǎng),這世上最難降的妖魔是什么崖瞭? 我笑而不...
    開封第一講書人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任狂巢,我火速辦了婚禮,結(jié)果婚禮上书聚,老公的妹妹穿的比我還像新娘唧领。我一直安慰自己,他們只是感情好雌续,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開白布斩个。 她就那樣靜靜地躺著,像睡著了一般驯杜。 火紅的嫁衣襯著肌膚如雪受啥。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,578評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音滚局,去河邊找鬼叁温。 笑死,一個(gè)胖子當(dāng)著我的面吹牛核畴,可吹牛的內(nèi)容都是我干的膝但。 我是一名探鬼主播,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼谤草,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼跟束!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起丑孩,我...
    開封第一講書人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤冀宴,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后温学,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體略贮,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年仗岖,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了逃延。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡轧拄,死狀恐怖揽祥,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情檩电,我是刑警寧澤拄丰,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站俐末,受9級(jí)特大地震影響料按,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜卓箫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一载矿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧丽柿,春花似錦恢准、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)涂召。三九已至坠非,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間果正,已是汗流浹背炎码。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工盟迟, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人潦闲。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓攒菠,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親歉闰。 傳聞我的和親對(duì)象是個(gè)殘疾皇子辖众,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容