簡體   English   中英

為什么嘗試建立網絡套接字時連接被拒絕?

[英]Why is connection refused when trying to establish a web-socket?

我正在嘗試在 java 腳本客戶端和 php 服務器之間建立 Web 套接字連接。 但是,每當我嘗試連接時,都會收到錯誤“連接被拒絕”。

我已經能夠在兩個 php 腳本之間創建 web-socket 連接,這讓我認為服務器端代碼是正確的。

請解釋我如何解決這個問題。

服務器(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”......這意味着它可以接受來自任何主機的套接字連接請求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM