如何在我的服务器上运行Socket.IO应用程序

时间:2014-07-10 00:52:26

标签: javascript node.js express websocket socket.io

我正在研究如何构建一个简单的实时聊天应用程序。我找到了许多使用Socket.Io的解决方案,并且它在localhost上完美运行,但我不知道如何让它在我的服务器上运行。有什么建议吗?

这是我的代码。

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/

由于

1 个答案:

答案 0 :(得分:1)

你现在正在从CDN加载socketio,这很好。但是,您的脚本如下所示:

        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')