0
我已經使用PHP編寫了一些代碼來創建套接字並偵聽傳入連接。我正在嘗試使用我感興趣的特定端口來執行此操作。用於在特定端口上創建監聽套接字的PHP代碼(運行於計算引擎中)
除非在一些隨機端口上打開偵聽TCP套接字,而不是由我選擇的端口,否則一切都很順利。
我在Google Compute Engine(GCE)上運行此代碼。
這裏是確切的PHP代碼,我嘗試:
set_time_limit(0);
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1);
$address = '35.190.179.17';
//bind socket to specified host
socket_bind($socket, $address,54468);
//listen to port
socket_listen($socket);
當您打開偵聽套接字時,該偵聽套接字位於特定端口上。當有人連接時,他們的連接被轉移/委託給其他一些端口,以便監聽套接字可以繼續偵聽新的連接。將收聽套接字想象成一個操作員 - 它必須保持線路暢通,以獲得更多連接。 –
我甚至無法使用指定的端口通過telnet連接,我實際上使用netstat -l找到了打開的端口並使用telnet連接到該端口。 –
您應該嘗試向php.net中的示例添加錯誤檢查代碼。你可能會發現任何一個socket_x命令都會失敗。 http://php.net/socket_set_option –