我正在学习如何构建一个简单的实时聊天应用程序。我发现了许多使用Socket的解决方案。Io,它在本地主机上完美地工作,但我不知道如何使它在我的服务器上工作。有什么建议吗?
这是我的代码。
INDEX.JS
ar app = require('http').createServer(handler);
var io = require('socket.io')(app);
var fs = require('fs');
app.listen();
function handler (req, res) {
fs.readFile(__dirname + '/index.html',
function (err, data) {
if (err) {
res.writeHead(500);
return res.end('error loading index.html');
}
res.writeHead(200);
res.end(data)
});
}
io.on('connection', function (socket){
socket.on('chat message', function(msg){
io.emit('chat message', msg);
});
});
HTML <script src="/socket.io/socket.io.js"></script>
<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
<script>
var socket = io();
$('form').submit(function(){
socket.emit('chat message', $('#m').val());
$('#m').val('');
return false;
});
socket.on('chat message', function(msg){
$('#messages').append($('<li>').text(msg));
});
</script>
寄存于:http://stg.pixechat.com/chat/
谢谢
您现在正在从CDN加载套接字,这很好。但是,您的脚本看起来像这样:
var socket = io();
$('form').submit(function(){
socket.emit('chat message', $('#m').val());
$('#m').val('');
return false;
});
socket.on('chat message', function(msg){
$('#messages').append($('<li>').text(msg));
});
在第一行,我认为您需要io()
为io('http://stg.pixechat.com/chat')