因?yàn)?a href="http://www.wangchenghua.com/" target="_blank">swoole提供了一套對socket客戶端的封裝,同步阻塞的swoole_client可以用于php-fpm或者apache環(huán)境。同時(shí)swoole的大部分模塊都只能運(yùn)行在CLI模式下,但是對于面向web的應(yīng)用怎么辦?所以,swoole_client是我們與服務(wù)端交互的一個(gè)重要方法。本文就以swoole_client來教大家怎么模擬客戶端
新建一個(gè)Client.php文件。
代碼如下:
// 創(chuàng)建一個(gè)同步阻塞的tcp socket // 第一個(gè)參數(shù)是表示socket的類型,有下面四種類型選擇,這里選則tcp socket就好 /** * SWOOLE_SOCK_TCP 創(chuàng)建tcp socket SWOOLE_SOCK_TCP6 創(chuàng)建tcp ipv6 socket SWOOLE_SOCK_UDP 創(chuàng)建udp socket SWOOLE_SOCK_UDP6 創(chuàng)建udp ipv6 socket */ // 第二個(gè)參數(shù)是同步還是異步 /** * SWOOLE_SOCK_SYNC 同步客戶端 SWOOLE_SOCK_ASYNC 異步客戶端 */ $client = new swoole_client(SWOOLE_SOCK_TCP, SWOOLE_SOCK_SYNC); // 隨后建立連接,連接失敗直接退出并打印錯(cuò)誤碼 $client->connect('127.0.0.1', 9501) || exit("connect failed. Error: {$client->errCode}\n"); // 向服務(wù)端發(fā)送數(shù)據(jù) $client->send("hello server."); // 從服務(wù)端接收數(shù)據(jù) $response = $client->recv(); // 輸出接受到的數(shù)據(jù) echo $response . PHP_EOL; // 關(guān)閉連接 $client->close();
看下模擬結(jié)果
注意到無論是server還是client,都是在CLI下執(zhí)行的。從模擬的結(jié)果中我們也可以清晰的看到client與server交互的整個(gè)過程。但是,相信很多人都會(huì)有疑問,尤其是phper,server和客戶端都這么玩,完全看不到實(shí)際應(yīng)用啊。先慢慢練習(xí)吧,我們這才剛打響與swoole之間的戰(zhàn)役。
以上就是“用代碼教你使用swoole怎么模擬客戶端”的詳細(xì)內(nèi)容,想要了解更多swoole教程歡迎關(guān)注編程學(xué)習(xí)網(wǎng)
掃碼二維碼 獲取免費(fèi)視頻學(xué)習(xí)資料
- 本文固定鏈接: http://phpxs.com/post/8457/
- 轉(zhuǎn)載請注明:轉(zhuǎn)載必須在正文中標(biāo)注并保留原文鏈接
- 掃碼: 掃上方二維碼獲取免費(fèi)視頻資料
查 看2022高級編程視頻教程免費(fèi)獲取