2
我想創建如下:PHP套接字發送數據,然後接收數據
- 1.open到UDP或TCP連接
- 2.發送索姆數據到選定的IP地址
- 3.從選定的IP地址接收數據
- 4.捕獲變量內的接收數據。
任務是:用戶向設備響應的設備發送一個命令,並且我對接收到的數據做了一些處理。 我有以下代碼,但我想我需要一個循環或一個while函數來等待接收到的數據。 用戶發送命令,但如果響應不是即時的,我必須等待它或檢查它。 我使用HTML,CSS和PHP 這裏是我使用的代碼。
<?php
if(isset($_POST['btn_cmd']))
{
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_bind($sock, '127.0.0.1', 23);
$msg = "AT+BC=RTIME";
$len = strlen($msg);
socket_sendto($sock, $msg, $len, 0, '127.0.0.1', 23);
$from = '';
$port = 0;
socket_recvfrom($sock, $buf, 30, 0, $from, $port);
?>
<input type="text"
name="name3"
size="25"
maxlength="50"
value="<?php echo($buf); ?>">
<?php
socket_close($sock);
}
?>
u能請幫我用一個例子 用於接收部分我用這個新代碼:
$out='';
echo "Reading response:\n\n";
//$out = socket_read($socket, 2048,PHP_NORMAL_READ) ;
while ($out=socket_recv($socket, $buf, 2048,PHP_NORMAL_READ)) {
echo "mesaj out:" .$out;
的問題是,我需要等待響應和上面的代碼是不加工。我想我需要一個時間函數或什麼來做一個循環,等待響應,然後關閉該循環。我不知道該怎麼做。我已經嘗試了所有的接收和監聽php functions.all我需要的是一個小例子開始。
我已經試過上面的例子。我現在可以發送命令!但是當我嘗試接收它進入無限循環? –
'while(1)'設置一個無限循環作爲* listener *。您發送的任何命令都必須在循環之外完成,否則必須添加邏輯以根據需要發送命令。@DanielSerban –
Jay。首先感謝您的答覆。我正在嘗試使用此代碼:------ $ out =''; echo「閱讀回覆:\ n \ n」; // $ out = socket_read($ socket,2048,PHP_NORMAL_READ); ($ out = socket_read($ socket,2048,PHP_NORMAL_READ)){ echo「mesaj out:」。$ out; } ------但沒有成功。你能否給我提供一個例子。 –