您好,登錄后才能下訂單哦!
怎么在PHP中利用socket實(shí)現(xiàn)客戶端和服務(wù)端通訊?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
服務(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"); //開(kāi)始監(jiān)聽(tīng)這個(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); ?>
看完上述內(nèi)容,你們掌握怎么在PHP中利用socket實(shí)現(xiàn)客戶端和服務(wù)端通訊的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!
免責(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)容。