2017-02-12 5 views
0

Ich versuche, this Beispiel zu folgen, aber ich sehe nicht die Nachricht "Hallo Welt vom Client" auf dem Browser. In der Tat sehe ich nicht die Client connected....Beispiele, die keine Nachricht an den Client senden

Ich sehe die Hello World und das Formular.

app.js

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

app.use(express.static(__dirname + '/bower_components')); 

io.on('connection', function(client) { 
    console.log('Client connected...'); 

    client.on('join', function(data) { 
     console.log(data); 
     client.emit('messages', 'Hello from server'); 
    }); 
});  

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

server.listen(4200); 

index.html

<!doctype html> 
<html lang="en"> 
    <script> 
     var socket = io.connect('http://localhost:4200'); 
     socket.on('connect', function(data) { 
      socket.emit('join', 'Hello World from client'); 
     }); 
     socket.on('messages', function(data) { 
      alert(data); 
     }); 
    </script> 
    <head>  
    </head> 
    <body> 
     <h1>Hello World!</h1> 
     <div id="future"></div> 
     <form id="form" id="chat_form"> 
      <input id="chat_input" type="text"> 
      <input type="submit" value="Send"> 
     </form> 
     <script src="https://code.jquery.com/jquery-1.10.2.js"></script> 
     <script src="/socket.io/socket.io.js"></script>    
    </body> 
</html> 

Antwort

2

<script> Tag residiert konnte nur in <head> oder <body> Tags. Wenn Sie den dom zu manipulieren und nicht mit einer domready Funktion gehen zu prüfen, ob der dom bereit ist oder nicht, dann sollten Sie alle Ihre Script-Tags am Ende des Körpers Tages legen kurz vor </body>:

<!doctype html> 
<html lang="en"> 
    <head> 
    <title>My App</title> 
    </head> 
    <body> 
    <h1>Hello World!</h1> 
    <div id="future"></div> 
    <form id="chat_form"> 
     <input id="chat_input" type="text"> 
     <input type="submit" value="Send"> 
    </form> 
    <script src="https://code.jquery.com/jquery-1.10.2.js"></script> 
    <script src="/socket.io/socket.io.js"></script> 
    <script> 
     var socket = io.connect('http://localhost:4200'); 
     socket.on('connect', function(data) { 
     socket.emit('join', 'Hello World from client'); 
     }); 
     socket.on('messages', function(data) { 
     alert(data); 
     }); 
    </script> 
    </body> 
</html> 
Verwandte Themen