繁体   English   中英

socket.io在服务器上不起作用,但是在我的本地主机上

[英]socket.io doesnt work on the server but on my localhost it does

我用socket.io和express做一个聊天室。 它在我的本地主机上运行,​​但是当我在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"
    }
}

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

HyperDev可能就是您想要的。

它将免费运行您的节点应用程序。 只是不要指望它有100%的时间在增长。

我将您的代码复制到一个项目中

必须进行一些小的更改才能使其在hyperdev上运行:

  • 现在监听端口3000
  • 现在从https源而不是从http加载jquery
  • 您在package.json中输错了'private';)

要查看正在运行的站点,请单击左上方的“显示”。

您可以通过单击左上方的“ holly-bush”和“ Remix Project”将其复制到自己的项目中。 然后,您可以对该服务器进行更改,它将为您刷新服务器。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM