Bạn nào có kinh nghiệm với NodeJS và Socket.IO có thể giúp mình tìm lỗi chương trình sau không:
NodeJS 0.6.7
Socket.IO 0.8.7
Server script:
Client script:
Khi client và server đã kết nối mình muốn ghi ra "connected!" trên cả client và server, đồng thời mỗi khi client submit chat, phía server sẽ ghi nội dung ra màn hình console và gửi lại nội dung cho client.
Tuy nhiên, khi chạy dù đã kết nối nhưng chỉ thấy server log 'connected!', đồng thời sự kiện 'sendchat' cũng không được server xử lý. Mình chỉ mới tìm hiểu nên chắc có lỗi gì đó mà mình không biết, rất mong các bạn giúp đỡ!
NodeJS 0.6.7
Socket.IO 0.8.7
Server script:
Code:
var io = require('socket.io').listen(8081); io.set("log level", 1); io.sockets.on('connection', function (socket) { console.log('connected!'); socket.on('sendchat', function (data) { console.log(data); socket.emit('updatechat', data); }); });
HTML Code:
<script src="http://localhost:8081/socket.io/socket.io.js" type="text/javascript" charset="utf-8"></script> <div id="main-content"> </div> <script type="text/javascript" charset="utf-8"> var socket = io.connect('http://localhost:8081'); socket.on('connect', function () { document.getElementById('main-content').innerHTML = '<p>Connected!</p>'; }); socket.on('updatechat', function (data) { document.getElementById('main-content').innerHTML += '<p>'+data+'</p>'; }); function sendMessageToServer() { var message = document.chatfrm.content.value; socket.emit('sendchat', message); document.chatfrm.content.value = ''; } </script> <div id="chat"> <form action="" id="chat-frm" name="chatfrm"> <table> <tr> <td><textarea id="content" cols="30" rows="5" name="content"></textarea></td> </tr> </table> <input type="button" value="Post" id="submit" onclick="sendMessageToServer()"/> </form> </div>
Tuy nhiên, khi chạy dù đã kết nối nhưng chỉ thấy server log 'connected!', đồng thời sự kiện 'sendchat' cũng không được server xử lý. Mình chỉ mới tìm hiểu nên chắc có lỗi gì đó mà mình không biết, rất mong các bạn giúp đỡ!