我尝试在两个之间建立WebSocket连接
PHP Websocket服务器和JavaScript。看起来像
服务器正在运行,但是我无法建立连接。
每次尝试建立连接时,我都会得到一个
错误,可以说:
WebSocket connection to 'ws://xxx.xxx.xxx.xx:1414/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED
这里有人知道解决此问题的方法吗?
顺便说一句,我正在Windows设备上使用XAMPP来托管
在端口80
上运行的PHP服务器
PHP服务器:
<?php
// Error Reporting und Zeitlimit für Serverbetrieb setzen
error_reporting(E_ERROR);
set_time_limit (0);
$host = 'localhost'; // Serverhost auf der gelauscht werden soll
$port = 1414; // Port auf dem Verbindungen angenommen werden sollen
// Socket erstellen
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
// Socket an Adresse und Port binden
socket_bind($sock, $host, $port);
// An Port lauschen
socket_listen($sock);
$sockets = array($sock);
$arClients = array();
while (true)
{
echo "Warte auf Verbindung...rn";
$sockets_change = $sockets;
$ready = socket_select($sockets_change, $write = null, $expect = null, null);
echo "Verbindung angenommen.rn";
foreach($sockets_change as $s)
{
if ($s == $sock)
{
// Änderung am Serversocket
$client = socket_accept($sock);
array_push($sockets, $client);
print_r($sockets);
}
else
{
// Eingehende Nachrichten der Clientsockets
$bytes = @socket_recv($s, $buffer, 2048, 0);
}
}
}
?>
JavaScript代码:
webSocket = new WebSocket('ws://xxx.xxx.xxx.xx:1414');
webSocket.send("Here's some text that the server is urgently awaiting!");
答案 0 :(得分:0)
解决方案非常简单。
我刚刚将端口更改为80
现在看起来应该像这样:
ws://xxx.xxx.xxx.xx:80