[英]Send/Receive data using Sockets functions
如何將數據從PHP頁面發送到TCP端口?
<?php
// parameters to connect to server
$ip = "192.168.1.3";
$port = "59995";
$data = "Hello";
$output = "";
// Create a TCP Stream Socket
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
// Connect to the server.
$result = socket_connect($socket, $ip, $port);
// Write to socket!
socket_write($socket, $data, strlen($data));
// Read from server
do
{
$line =@socket_read($socket,2048);
echo $line. "\n";
}
while ($data != "0");
// Close and return.
socket_close($socket);
?>
我正在使用它,但是我無法接收任何數據! 另外,您知道我該如何超時嗎?
問題是什么?
您的程序有效。 如果不接收數據,則可能是服務器的故障。 當然要
while ($line);
代替
while ($data != "0");
如果服務器已關閉連接,則使其停止。 對於接收超時(例如7 s),您可以使用
socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array("sec"=>7, "usec"=>0));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.