|
<span style="color: #000000;"> }
<span style="color: #008000;">//<span style="color: #008000;">connect action
<span style="color: #0000ff;">function my_onConnect (<span style="color: #800080;">$serv,<span style="color: #800080;">$fd<span style="color: #000000;">){
<span style="color: #0000ff;">echo "Client:Connect. id:{<span style="color: #800080;">$fd}n"<span style="color: #000000;">;
}
<span style="color: #008000;">//<span style="color: #008000;">close action
<span style="color: #0000ff;">function my_onClose (<span style="color: #800080;">$serv,<span style="color: #800080;">$fd<span style="color: #000000;">) {
<span style="color: #0000ff;">echo "Client: Close. id:{<span style="color: #800080;">$fd}n"<span style="color: #000000;">;
}
<span style="color: #008000;">//<span style="color: #008000;">broadcast except me,只会广播from_id相同的用户,再研究了
<span style="color: #0000ff;">function broadcast(swoole_server <span style="color: #800080;">$serv,<span style="color: #800080;">$fd = 0,<span style="color: #800080;">$data = "hello"<span style="color: #000000;">)
{
<span style="color: #800080;">$start_fd = 0<span style="color: #000000;">;
<span style="color: #800080;">$sendNum = 0<span style="color: #000000;">;
<span style="color: #0000ff;">echo "broadcast to "<span style="color: #000000;">;
<span style="color: #800080;">$from = "From Client[<span style="color: #800080;">$fd]:"<span style="color: #000000;">;
<span style="color: #0000ff;">while(<span style="color: #0000ff;">true<span style="color: #000000;">)
{
<span style="color: #800080;">$conn_list = <span style="color: #800080;">$serv->connection_list(<span style="color: #800080;">$start_fd,10<span style="color: #000000;">);
<span style="color: #0000ff;">if(<span style="color: #800080;">$conn_list === <span style="color: #0000ff;">false<span style="color: #000000;">)
{
<span style="color: #0000ff;">break<span style="color: #000000;">;
}
<span style="color: #008080;">var_dump(<span style="color: #800080;">$conn_list<span style="color: #000000;">);
<span style="color: #800080;">$start_fd = <span style="color: #008080;">end(<span style="color: #800080;">$conn_list<span style="color: #000000;">);
<span style="color: #0000ff;">foreach(<span style="color: #800080;">$conn_list <span style="color: #0000ff;">as <span style="color: #800080;">$conn<span style="color: #000000;">)
{
<span style="color: #0000ff;">if(<span style="color: #800080;">$conn === <span style="color: #800080;">$fd) <span style="color: #0000ff;">continue<span style="color: #000000;">;
<span style="color: #800080;">$ret1 = <span style="color: #800080;">$serv->send(<span style="color: #800080;">$conn,<span style="color: #800080;">$from . <span style="color: #800080;">$data<span style="color: #000000;">);
<span style="color: #800080;">$sendNum ++<span style="color: #000000;">;
}
}
<span style="color: #0000ff;">echo <span style="color: #800080;">$sendNum . ' numbers.'<span style="color: #000000;">;
}
记得把它跑起来哦
/bin/php test_tcp_server.php
(编辑:网站开发网_马鞍山站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|