socket.io不能在服务器上运行,但在我的localhost上运行

时间:2016-06-18 10:04:25

标签: javascript github socket.io server localhost

我用socket.io和express做了一个聊天室。它正在我的localhost上工作但是当我在github上传它时,它无效。 我在网上搜索了很多时间,但没有发现任何事情,如果你可以帮助我,那就太棒了。

代码:html(客户端)

<html>
<head>
    <title>Chat with your friend</title>
    <style>
    #chat{
        height:500px;
    }
    </style>
</head>
<body>
    <div id="chat"></div>
        <form id="send-message">
            <input size="35" id="message"></input>
            <input type = "submit"></input>
        </form>

    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script src="/socket.io/socket.io.js"></script>
    <script>
        jQuery(function($){
            var socket = io.connect();
            var $messageForm = $('#send-message');
            var $messageBox = $('#message');
            var $chat = $('#chat');


            $messageForm.submit(function(e){
                e.preventDefault();
                socket.emit('send message', $messageBox.val());
                $messageBox.val('');
            });

            socket.on('new message', function(data){
                $chat.append(data + "<br/>");
            });
        });
    </script>
</body>
</html>

app.js(服务器)

var express = require('express'),
app = express(),
server = require('http').createServer(app),
io = require('socket.io').listen(server);

    server.listen(8080);

app.get('/', function(req, res){
res.sendfile(__dirname + '/index.html');
});

io.sockets.on('connection', function(socket){
socket.on('send message', function(data){
    io.sockets.emit('new message', data);       
}); 
});

的package.json:

{
"name": "Chat",
"version": "0.1.0",
"priviate": true,
"dependencies": {
    "socket.io": "1.4.6",
    "express": "4.14.0"
    }
}

1 个答案:

答案 0 :(得分:0)

将代码放在github上不会为你运行服务器。

HyperDev可能就是你想要的。

它将免费运行您的节点应用程序。不要指望它在100%的时间里上升。

我将您的代码复制到project

必须进行一些小改动才能让它继续进行hyperdev:

  • 现在侦听端口3000
  • 现在从https源而不是http
  • 加载jquery
  • 你输了错误&#39;私人&#39;在package.json;)

要查看正在运行的网站,请点击左上角的&#39;显示&#39;

您可以点击&#39; holly-bush&#39;,左上角和&#39; Remix Project&#39;将其复制到您自己的项目中。然后你可以对那个进行更改,它会为你刷新服务器。

这是测试节点内容的好方法。