【发布时间】:2016-01-29 06:16:16
【问题描述】:
从过去 4 小时开始搜索这个简单的套接字连接代码并出现错误。我也更改了端口,但没有任何效果。
//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));
});
错误:
到 'ws://localhost:9000/demo/server.php' 的 WebSocket 连接失败: 连接建立错误:net::ERR_CONNECTION_REFUSED
而 PHP 是
$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);
【问题讨论】:
-
你怎么知道你的 websocket 服务器启动了?您只发布了前端代码。
-
@Satisfaction 我也分享了 php 代码。请看
-
开启 websocket 服务器。例如:在 windows 中打开 cmd 并输入 php -q c:\path\server.php