123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Title</title>
- </head>
- <body>
- <div id="txtcontent" style="width: 500px;height: 250px;border: 1px solid gray"></div>
- <div>所有用户:<select id="listuers"></select></div>
- <div>你的昵称:<input type="text" id="username" /></div>
- <div>
- 回复内容:
- <textarea style="width: 500px;height: 100px" id="txtmsg"></textarea>
- </div>
- <div>
- <button onclick="connectServer()">连接服务器</button>
- <button onclick="send()">发送消息</button>
- </div>
-
- <script>
- var socket = null;
- var isLogin = false;
-
-
- function connectServer(){
- var username = document.getElementById('username').value;
-
- if(username == ''){
- alert('用户昵称不能为空');
- }
-
-
- socket = new WebSocket('ws://192.168.33.10:2346');
-
-
- socket.onopen = function(){
- socket.send('login:' + username);
- };
-
-
- socket.onmessage = function(e){
-
- var getMsg = e.data;
-
-
- if(/^notice:success$/.test(getMsg)){
- isLogin = true;
- }else if(/^msg:/.test(getMsg)){
- var p = document.createElement('P');
-
- p.innerHTML = '<span>服务端返回的消息:</span>' + getMsg.replace('msg:','');
- document.getElementById('txtcontent').appendChild(p);
- }else if(/^users:/.test(getMsg)){
-
- nicheng = getMsg.replace('users:','');
- shownicheng = eval('('+nicheng+')');
-
- var listusers = document.getElementById('listuers');
- listusers.innerHTML = '';
- for(var key in shownicheng){
- var option = document.createElement('option');
- option.value = key;
- option.innerHTML = shownicheng[key];
- listusers.appendChild(option);
- }
- }else if(/^dian:/.test(getMsg)){
-
- var p = document.createElement('P');
-
- p.innerHTML = '<span>单播的消息:</span>' + getMsg.replace('dian:','');
- document.getElementById('txtcontent').appendChild(p);
- }
- };
-
- socket.onclose = function(){
- isLogin = false;
- alert('服务器断开');
- };
- }
-
-
- function send(){
- if(!isLogin){
- alert('请先通过服务器验证');
- }
-
-
- var msg = document.getElementById('txtmsg').value;
-
- socket.send('msg:' + msg);
-
-
- var listusers = document.getElementById('listuers');
- var toUserIPP = listusers.options[listusers.selectedIndex].value;
- var toUserName = listusers.options[listusers.selectedIndex].text;
- socket.send('dian:<' + toUserIPP + '>:' + msg);
-
-
- var p = document.createElement('p');
- p.innerHTML = '<span>客户端发出的消息:</span>' + msg;
- document.getElementById('txtcontent').appendChild(p);
- }
- </script>
- </body>
- </html>
|