javascript - 为什么尝试建立网络套接字时连接被拒绝?

标签 javascript php websocket

我正在尝试在 Java 脚本客户端和 php 服务器之间建立 Web 套接字连接。但是,每当我尝试连接时,都会收到错误“连接被拒绝”。

我已经能够在两个 php 脚本之间创建 Web 套接字连接,这让我认为服务器端代码是正确的。

请解释一下如何解决此问题。

服务器(PHP):

$host = "108.167.140.91";
$port = 5353;
set_time_limit(30);
// create socket
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n");
// bind socket to port
$result = socket_bind($socket, $host, $port) or die("Could not bind to socket\n");
// start listening for connections
$result = socket_listen($socket, 20);

// accept incoming connections
// spawn another socket to handle communication
$spawn = socket_accept($socket) or die("Could not accept incoming connection\n");

socket_write($spawn, "connected", strlen ("connected"));

// close sockets
socket_close($spawn);
socket_close($socket);

客户端(HTML):

<html>
<script>
var socket = new WebSocket("ws://108.167.140.91:5353");

// Open the socket
socket.onopen = function(event) {
    console.log("connected");

    // To close the socket....
    socket.close()

};
</script>
</html>

您可以在这里亲自测试:

服务器:http://chrislanggames.site/SocketTest/server3.php

客户:http://chrislanggames.site/SocketTest/client2.html

工作 PHP 客户端:http://chrislanggames.site/SocketTest/client.php

最佳答案

尝试将主机更改为“0.0.0.0”......这意味着它可以接受来自任何主机的套接字连接请求。

关于javascript - 为什么尝试建立网络套接字时连接被拒绝?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58464545/

相关文章:

javascript - 我可以优化这些功能吗?

javascript - 将图像从数据库对齐到 html 页面

javascript - 如何通过 "radio"实现 "button"

javascript - 使用 jQuery 定位特定 DIV 以替换 HTML

javascript - SetTimeout() 导致 cpu 使用率过高

php - 显示和选择 mysql 的快捷方式,无需对每个变量使用 mysql_fetch_array

go - 如何使用 Go 和 gorilla websocket 只发送给一个客户端而不是所有客户端

django - 带有 Django channel 的网络套接字

javascript - Jquery .css() 不起作用(可能是由其他原因引起的)

python - websockets.exceptions.InvalidStatusCode : server rejected WebSocket connection: HTTP 400