Connexion WebSocket à 'ws://.." a échoué: Erreur dans l'établissement de la connexion: net::ERR_CONNECTION_REFUSED
Tirant sur mes cheveux à la recherche de la dernière 4 heures ce simple code pour la connexion de socket et de recevoir des messages d'erreurs. J'ai changé de port, mais rien ne fonctionne.
//create a new WebSocket object.
var wsUri = "ws://localhost:9000/demo/server.php";
websocket = new WebSocket(wsUri);
websocket.onopen = function(ev) { //connection is open
$('#message_box').append("<div class=\"system_msg\">Connected!</div>"); //notify user
}
$('#send-btn').click(function(){ //use clicks message send button
var mymessage = $('#message').val(); //get message text
var myname = $('#name').val(); //get user name
if(myname == ""){ //empty name?
alert("Enter your Name please!");
return;
}
if(mymessage == ""){ //emtpy message?
alert("Enter Some message Please!");
return;
}
//prepare json data
var msg = {
message: mymessage,
name: myname,
color : '<?php echo $colours[$user_colour]; ?>'
};
//convert and send data to server
websocket.send(JSON.stringify(msg));
});
Erreur :
Connexion WebSocket pour 'ws://localhost:9000/demo/server.php" a échoué:
Erreur dans l'établissement de la connexion: net::ERR_CONNECTION_REFUSED
tandis que le PHP est
$host = 'localhost'; //host
$port = '9000'; //port
$null = NULL; //null var
//Create TCP/IP sream socket
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
//reuseable port
socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1);
//bind socket to specified host
socket_bind($socket, 0, $port);
//listen to port
socket_listen($socket);
//create & add listning socket to the list
$clients = array($socket);
- Comment savez-vous que votre serveur websocket commencé? Vous n'posté le frontend code.
- j'ai également partagé le code php. veuillez voir
- Tourner sur le serveur websocket. Ex: ouvrir cmd de windows et le type php -q c:\path\server.php
Vous devez vous connecter pour publier un commentaire.
Vous n'êtes pas créer un serveur websocket.
C'est ce que vous avez besoin de: http://socketo.me/
Obtenir les websockets pour fonctionner correctement en PHP est ennuyeux et un désordre (en particulier, si vous êtes un débutant).
Vous pourriez être au-dessus de votre tête.
Votre PHP utilise régulièrement (raw) de socket tcp/ip de la connexion. Les Websockets est un protocole avec une poignée de main et le paquet de cadrage... si le serveur ne parle pas "Websockets", le client génère une erreur.
P. S.
PHP a été initialement conçu pour agir comme une application web langage de script pour les connexions HTTP, généralement à l'aide de CGI pour revenir rapidement à une Chaîne qui agit comme le fichier/html pour être envoyé.
Par nature, PHP processus visent à avoir une plus courte durée de vie.
Je vous déconseille d'utiliser PHP pour écrire un serveur websocket, bien que vous pourriez regarder en Ratchet qui est un PHP websocket bibliothèque qui pourraient vous aider à construire un websocket application à l'aide de PHP.
Je vous recommande de considérer Ruby, node.js ou Python pour votre Websocket projet, il va vous faire économiser beaucoup de maux de tête que vous creusez plus profond dans votre projet et vous êtes susceptible d'avoir une meilleure communauté de soutien pour tous les défis que vous rencontrez le long du chemin.