2017-02-25 7 views
0

Ich versuche eine einfache Verbindung zwischen einem socket.io auf einer .php-Seite und einem node.js-Server herzustellen, leider wird es nicht funktionieren? Die .on ('Verbindung') feuert nicht auf dem Server-Side-Code?SocketIO on Verbindung nicht feuern?

Alle Fragen, die ich verwenden express sehen, ich weiß nicht Eil verwenden möchten ..

Kunde:

<script src="https://cdn.socket.io/socket.io-1.4.7.js"></script> 
<script> 
var socket = new io.connect('http://127.0.0.1:1904'); 

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> 

Seite Server:

var http = require('http'); 

var server = http.createServer(); 
server.listen(1904); 
console.log('Server started.'); 

var io = require('socket.io')(server, {}); 

io.sockets.on('connecton', function(socket) { 
    console.log('A new player connected.'); 

    socket.on('happy', function(data) { 
     console.log('happy because: ' + data.reason); 
    }) 
}); 

Antwort

0

Hier ist die Routine, die ich verwenden Für all meine Socket-basierten Knotenprojekte, Hope, das hilft dir dabei. Lassen Sie es mich wissen, wenn Sie weitere Fragen haben, mit denen ich helfen kann.

Datei mit dem Namen server.js:

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

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

//for testing, we're just going to send data to the client every second 
setInterval(function() { 
    var msg = Math.random(); 
    io.emit('message', msg); 
    console.log (msg); 

}, 1000); 

Datei mit dem Namen index.html:

<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js">   </script> 
<!-- UPDATE THE FOLLOWING TO THE PATH TO YOUR SOCKET.IO.JS FILE OR USE CDN --> 
<script src="/socket.io/socket.io.js"></script> 

<script> 
    $(document).ready(function(){ 
     $('body').css('width', '100%'); 
     $('div').css('text-align', 'center').css('width', '100%') 
     $('#message').css('font-size', '2em'); 


     // DEFINE OUR SOCKET... 
     var socket = io(); 


     // EVERY TIME THE NODE.JS SERVER SENDS US 'MESSAGE' WE'LL DISPLAY THAT UPDATED NUMBER IN A DIV 
     socket.on('message', function(msg){ 
      document.getElementById("message").innerHTML = msg; 
     }); 

</script> 
</head> 

<body> 
    <div id="message"></div> 

</body> 
</html>