說明:機(jī)器還是之前的機(jī)器扎酷,環(huán)境還是還是之前的環(huán)境攘滩。
官方文檔絕對是我們的第一手學(xué)習(xí)資料喧伞,也是最有價值的資料,所以請不要丟掉它驶鹉。
首先進(jìn)入之前進(jìn)入我的目錄
[zhengzongqiang@localhost server]# pwd
/opt/work/demo/server
UDP服務(wù)器與TCP服務(wù)器不同绩蜻,UDP沒有連接的概念。啟動Server后室埋,客戶端無需Connect办绝,直接可以向Server監(jiān)聽的9502端口發(fā)送數(shù)據(jù)包。
創(chuàng)建udp服務(wù)端文件
[zhengzongqiang@localhost server]$ sudo vim udp.php
這里程序同樣要借鑒一下手冊姚淆;
是的孕蝉,一定要學(xué)會看手冊,學(xué)會看手冊腌逢,學(xué)習(xí)任何知識都是簡單的降淮,很多人說Swoole難,學(xué)TP簡單搏讶,可如果你不懂看手冊佳鳖,再簡單也是完蛋;我覺得我說的很有道理媒惕,此處應(yīng)該有掌聲系吩。
別人只會告訴你這樣寫,而不會告訴你他是如何借鑒手冊的妒蔚,而我會穿挨。
no bb,show code肴盏!
//創(chuàng)建Server對象科盛,監(jiān)聽 127.0.0.1:9502端口,類型為SWOOLE_SOCK_UDP
$serv = new swoole_server("127.0.0.1", 9502, SWOOLE_PROCESS, SWOOLE_SOCK_UDP);
//監(jiān)聽數(shù)據(jù)接收事件
$serv->on('Packet', function ($serv, $data, $clientInfo) {
$serv->sendto($clientInfo['address'], $clientInfo['port'], "Server ".$data."\n");
var_dump($clientInfo);
});
//啟動服務(wù)器
$serv->start();
如何測試呢菜皂?看手冊贞绵,最下:
啟動服務(wù)
php udp.php
UDP服務(wù)器可以使用netcat -u 來連接測試
netcat -u 127.0.0.1 9502
hello
Server: hello
問題解決
你可能會遇到netcat命令不存在,而且yum安裝不了的問題
進(jìn)入你下載軟件的目錄
[zhengzongqiang@localhost softpkg]$ pwd
/opt/softpkg
1.下載安裝包
wget https://sourceforge.net/projects/netcat/files/netcat/0.7.1/netcat-0.7.1.tar.gz
2.解壓縮文件
tar -zxvf netcat-0.7.1.tar.gz -C /opt/soft
進(jìn)入解壓目錄恍飘,可以看到解壓后的目錄
[zhengzongqiang@localhost soft]$ pwd
/opt/soft
[zhengzongqiang@localhost soft]$ ls
netcat-0.7.1 php
[zhengzongqiang@localhost soft]$ cd netcat-0.7.1
3.編譯安裝
// 1>查看編譯配置文件
./configure
// 2>編譯安裝
make && make install
4.配置環(huán)境變量
vim /etc/profile
// 添加環(huán)境變量如下
export NETCAT_HOME=/opt/soft/netcat-0.7.1
export PATH=$PATH:$NETCAT_HOME/bin
5.保存退出后榨崩,執(zhí)行以下命令使配置生效
source /etc/profile
4>查看netcat是否已經(jīng)生效,顯示以下信息說明安裝成功
[zhengzongqiang@localhost etc]$ nc -V
netcat (The GNU Netcat) 0.7.1
Copyright (C) 2002 - 2003 Giovanni Giacobbi
This program comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of this program under the terms of
the GNU General Public License.
For more information about these matters, see the file named COPYING.
Original idea and design by Avian Research <hobbit@avian.org>,
Written by Giovanni Giacobbi <giovanni@giacobbi.net>.
ps: 遇到問題常侣,第一個找的應(yīng)該是官網(wǎng)文檔蜡饵!比如我們遇到?jīng)]有netcat命令不存在的命令弹渔,這個如何安裝胳施,第一選擇當(dāng)然是官方文檔。