我想在PHP中將指定的端口綁定到套接字的CLIENT端。我可以這樣做嗎?這個怎麼做? 使用socket_bind()?但我不知道應該爲地址設置什麼如何在PHP中指定socket客戶端的端口?
我已經使用了關於此問題的解決方案,但沒有找到示例/解決方案。
感謝您的幫助。
我想在PHP中將指定的端口綁定到套接字的CLIENT端。我可以這樣做嗎?這個怎麼做? 使用socket_bind()?但我不知道應該爲地址設置什麼如何在PHP中指定socket客戶端的端口?
我已經使用了關於此問題的解決方案,但沒有找到示例/解決方案。
感謝您的幫助。
看看這裏:http://php.net/manual/en/function.socket-bind.php
socket_bind (resource $socket , string $address [, int $port = 0 ])
因此,像:
socket_bind($socket, 'localhost', 5555);
當然,我不知道主機的IP地址是什麼,它可能不會是localhost。
我已閱讀php手冊。 socket_bind通常用於SERVER端。 對於CLIENT方面,是客戶端的IP地址嗎?我只想確定地址是什麼。 – Timespace7
它可以(也應該)被SERVER和CLIENT一方使用。你如何創建套接字,你稱之爲「服務器」是什麼。你想如何與該套接字進行通信。詳細說明如果你需要更好的答案。 – ddinchev
我是套接字編程的初學者。也許我對socket的一些概念還不清楚。如圖所示http://pic.pimg.tw/kezeodsnx/4a83b89243c39.png 服務器端綁定到一個IP和端口,以便它可以分別向客戶端發送數據和從客戶端接收數據。服務器的ip可能是固定的,因爲它的所有客戶端只需連接一臺服務器(在正常情況下)。但對於客戶端來說,如果我想在客戶端指定一個端口,我想我應該使用socket_bind(),它需要2個參數ip和port。這個socket_bind()中的ip的地址是什麼?客戶端的IP地址是什麼? – Timespace7
如果你自己創建流與stream_context_create
你將需要使用你能做到這一點bindto:
用於指定的IP地址(IPv4或IPv6)和/或端口PHP將用於訪問網絡的數量。語法是ip:port。將IP或端口設置爲0將讓系統選擇IP和/或端口。
所以:
$ctx = stream_context_create(array('socket'=> array('bindto' => "0:1234")));
那麼您認爲合適的使用環境。
我可以使用此套接字創建的套接字函數,即socket_create()嗎? – Timespace7
不是socket_create,但函數,如'stream_socket_ *'或'fopen' – Martin
@lanzz他不想聽。他說'客戶端套接字'。因此0.0.0.0也不適用。 – EJP