Ich bin relativ neu in node.js und seinen Addons, daher ist dies wahrscheinlich eine Anfängerfrage.
Ich versuche, eine einfache HTML-Seite auf einem Webserver zu erhalten, der eine Verbindung zu einem anderen Server herstellt, auf dem node.js mit websocket.io ausgeführt wird.
Mein Code sieht so aus:
Klient
<script src="https://stackoverflow.com/questions/9945693/socket.io/socket.io.js"></script>
<script>
// Create SocketIO instance, connect
var socket = new io.Socket();
socket.connect('http://127.0.0.1:8080');
// Add a connect listener
socket.on('connect',function() {
console.log('Client has connected to the server!');
});
// Add a connect listener
socket.on('message',function(data) {
console.log('Received a message from the server!',data);
});
// Add a disconnect listener
socket.on('disconnect',function() {
console.log('The client has disconnected!');
});
// Sends a message to the server via sockets
function sendMessageToServer(message) {
socket.send(message);
};
</script>
Serverseitig
// Require HTTP module (to start server) and Socket.IO
var http = require('http');
var io = require('socket.io');
var port = 8080;
// Start the server at port 8080
var server = http.createServer(function(req, res){
// Send HTML headers and message
res.writeHead(200,{ 'Content-Type': 'text/html' });
res.end('<h1>Hello Socket Lover!</h1>');
});
server.listen(port);
// Create a Socket.IO instance, passing it our server
var socket = io.listen(server);
// Add a connect listener
socket.on('connection', function(client){
console.log('Connection to client established');
// Success! Now listen to messages to be received
client.on('message',function(event){
console.log('Received message from client!',event);
});
client.on('disconnect',function(){
clearInterval(interval);
console.log('Server has disconnected');
});
});
console.log('Server running at http://127.0.0.1:' + port + "https://stackoverflow.com/");
Das Starten des Servers funktioniert einwandfrei und läuft http://localhost:8080 in meinem Browser funktioniert auch und gibt wie erwartet ‘Hello Socket Lover’ zurück. Aber ich möchte eine andere Seite dazu bringen, mit den Sockets zu sprechen, und keine von node.js aus ausführen.
Aber wenn ich es ausführe, passiert nichts und die Chrome-Konsole kehrt zurück:
Failed to load resource http://undefined/socket.io/1/?t=1333119551736
Failed to load resource http://undefined/socket.io/1/?t=1333119551735
Ich war den ganzen Tag dabei. Irgendeine Hilfe?