溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么在PHP中使用socket實(shí)現(xiàn)客戶端和服務(wù)端通訊功能

發(fā)布時(shí)間:2021-02-05 16:13:59 來(lái)源:億速云 閱讀:136 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章給大家介紹怎么在PHP中使用socket實(shí)現(xiàn)客戶端和服務(wù)端通訊功能,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

服務(wù)端:

<?php
 set_time_limit(0);
 $host="localhost";
 $port=1001;
 //創(chuàng)建一個(gè)連接
 $socket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP)or die("cannot create socket\n");
 //綁定socket到端口
 $result=socket_bind($socket,$host,$port) or die("cannot bind port to socket\n");
 //開始監(jiān)聽這個(gè)端口
 $result=socket_listen($socket,4) or die("could not set up socket listen\n");
 //接受連接,另一個(gè)socket來(lái)處理通信
 $msgsock=socket_accept($socket) or die("cannot accept incoming connection\n");
 if($msgsock){
  echo date("Y-m-d H:i:s D a");
 }
 //讀取客戶端發(fā)送過(guò)來(lái)的信息
 $input=socket_read($msgsock,1024) or die("cannot read input\n");
 $input=trim($input);
 $output=strrev($input)."順序反過(guò)來(lái)了吧\n";
 //對(duì)接收到的信息進(jìn)行處理,然后返回到客戶端
 socket_write($msgsock,$output,strlen($output)) or die("cannot write");
 //關(guān)閉socket連接
 socket_close($msgsock);
 socket_close($socket);
?>

客戶端:

<?php
 set_time_limit(0);
 $host="localhost";
 $port=1001;
 //創(chuàng)建一個(gè)socket
 $socket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP)or die("cannot create socket\n");
 $conn=socket_connect($socket,$host,$port) or die("cannot connect server\n");
 if($conn){echo "client connect ok!";}
 socket_write($socket,"hello world!") or die("cannot write data\n");
 $buffer=socket_read($socket,1024,PHP_NORMAL_READ);
 if($buffer){
  echo "response was:".$buffer."\n";
 }
 socket_close($socket);
?>

關(guān)于怎么在PHP中使用socket實(shí)現(xiàn)客戶端和服務(wù)端通訊功能就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI