【问题标题】:WebSocket | net::ERR_CONNECTION_REFUSED网络套接字 |净::ERR_CONNECTION_REFUSED
【发布时间】:2020-05-18 00:59:07
【问题描述】:

我尝试在 PHP Websocket 服务器和 JavaScript 之间建立 WebSocket 连接。看起来服务器正在运行,但我无法建立连接。

每次我尝试建立连接时都会遇到错误,提示:

到 'ws://xxx.xxx.xxx.xx:1414/' 的 WebSocket 连接失败:连接建立错误:net::ERR_CONNECTION_REFUSED

这里有人知道这个问题的解决方案吗?

顺便说一句,我在 Windows 设备上使用 XAMPP 来托管 PHP 服务器,该服务器在端口 80 上运行

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!");

【问题讨论】:

  • 什么是 WebSocket 内置 - Javascript、php 或其他?您正在使用 ws 作为协议 - 您大概是从非 ssl 页面运行的?
  • WebSocket 是用 php 构建的。是的,我没有使用 ssl。
  • 有很多潜在的故障点,但没有看到 javascript 和 php 或不知道可能影响事情的可能基础设施的细节,这很难回答。考虑添加足够的代码来复制问题
  • 好的,我已经添加了一些代码

标签: javascript php websocket


【解决方案1】:

解决方案非常简单。
我刚刚将端口更改为 80

现在应该是这样的:

ws://xxx.xxx.xxx.xx:80

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-18
    • 2016-11-25
    • 1970-01-01
    • 2021-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多