client - websocket protocol access from remote computer -
i have designed chat application based on websocket protocol.
i have installed xampp server in computer .i start server in computer , trying access client.php page (url ipadresssofa/project/client.php) computer b using ip address of computer a. displaying socket error.
and when try same url on computer (url ipadresssofa/project/client.php). client connects.both computers connected same wifi. here client code.please tell me wrong
<html> <head> <style> #chatlog {width:440px; height:200px; border:1px solid;overflow:auto;} #userslog {width:440px; height:200px; border:1px solid;overflow:auto;} #msg {width:330px; height:100px;} </style> <script> function initialize(){ var host = "ws://localhost:12345/project/server3z.php"; try{ socket = new websocket(host); chatlog('websocket - status '+socket.readystate); socket.onopen = function(event){chatlog("websocket status "+this.readystate); }; socket.onmessage = function(event){ chatlog(event.data); }; socket.onclose = function(){ chatlog("websocket status "+this.readystate); }; socket.onerror = function(event){chatlog("error :"+event.data); }; } catch(err){ chatlog(err); } } function send() { var chat; chat= document.getelementbyid("msg").value; if(!chat){ alert("message can not empty"); return; } try{ socket.send(chat); chatlog('sent: '+chat); } catch(err){ log(err); } document.getelementbyid("msg").value = ""; } function quit(){ chatlog("closed!"); socket.close(); chatlog("websocket status "+socket.readystate); } function chatlog(msg) { var match=msg.match(/10101010101010/g); if(match) { var msg=msg.split("10101010101010"); document.getelementbyid("userslog").innerhtml+="<br>"+msg[0]; } else { document.getelementbyid("chatlog").innerhtml+="<br>"+msg; } } function onkey(event){ if(event.keycode==13){ send(); } } </script> </head> <body onload="initialize()"> <center> <div id="chatlog"></div> <input id="msg" type="textbox" onkeypress="onkey(event)"/> <button onclick="send()">send</button> <button onclick="quit()">stop</button> <div id="userslog"></div> </center> </body> </html>
also in server code written in comments want show :
// start server $server = new phpwebsocket(); $server->bind('message', 'wsonmessage'); $server->bind('open', 'wsonopen'); $server->bind('close', 'wsonclose'); // other computers connect, need change lan ip or external ip, // alternatively use: gethostbyaddr(gethostbyname($_server['server_name'])) $server->wsstartserver('localhost', 12345);
initialize var host follows:
var host = "ws://localhost:12345";
everything else looks ok.
Comments
Post a Comment