Socket.io程序在网站上不起作用

时间:2017-12-13 18:00:14

标签: javascript sockets socket.io

我需要帮助获取在网站上运行的简单socket.io应用程序。我按照here中的教程来启动并运行一个简单的聊天应用程序。它在我在我的计算机上运行并通过本地主机连接时起作用,但当我尝试将其放在网络服务器上时我无法使用它。我正在使用免费托管来自000webhostapp所以idk如果与它有关。我的js代码和html是:

index.js

 var app = require('express')();
 var http = require('http').Server(app);
 var io = require('socket.io')(http);

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

 io.on('connection', function(socket){
 socket.on('chat message', function(msg){
 io.emit('chat message', msg);
 });
 });

http.listen(3000, function(){
console.log('listening on *:3000');
});

的index.html

<!doctype html>
<html>
    <head>
        <title>Socket.IO chat</title>
            <style>
               * { margin: 0; padding: 0; box-sizing: border-box; }
                 body { font: 13px Helvetica, Arial; }
                 form { background: #000; padding: 3px; position: fixed; 
                 bottom: 0; width: 
                 100%; }
                 form input { border: 0; padding: 10px; width: 90%; margin-
                 right: .5%; }
                 form button { width: 9%; background: rgb(130, 224, 255); 
                 border: none; 
                 padding: 10px; }
                 #messages { list-style-type: none; margin: 0; padding: 0; }
                 #messages li { padding: 5px 10px; }
                 #messages li:nth-child(odd) { background: #eee; }
            </style>
    </head>
<body>

    <ul id="messages"></ul>
<form action="">
  <input id="m" autocomplete="off" /><button>Send</button>
</form>

<script src="/socket.io/socket.io.js"></script>
<script src="https://code.jquery.com/jquery-1.11.1.js"></script>

<script>
     $(function () {
     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>
</body>
</html>

0 个答案:

没有答案