Swoole server函數(shù)列表

2019-08-14 19:13 更新

swoole_server函數(shù)列表

Table of Contents


swoole_server::__construct

功能描述:創(chuàng)建一個swoole_server資源對象
函數(shù)原型

// 類成員函數(shù)
public function swoole_server::__construct(string $host, int $port, int $mode = SWOOLE_PROCESS,
    int $sock_type = SWOOLE_SOCK_TCP);
// 公共函數(shù)
function swoole_server_create(string $host, int $port, int $mode = SWOOLE_PROCESS,
    int $sock_type = SWOOLE_SOCK_TCP);

返回:一個swoole_server對象
參數(shù)說明:

參數(shù)說明
string host監(jiān)聽的IP地址
int port監(jiān)聽的端口號
int mode運行模式
int sock_type指定的socket類型

說明: host、port、socket_type的詳細說明見swoole_server::addlistener。
mode指定了swoole_server的運行模式,共有如下三種:

mode類型說明
SWOOLE_BASEBase模式傳統(tǒng)的異步非阻塞Server。在Reactor內(nèi)直接回調(diào)PHP的函數(shù)。如果回調(diào)函數(shù)中有阻塞操作會導(dǎo)致Server退化為同步模式。worker_num參數(shù)對與BASE模式仍然有效,swoole會啟動多個Reactor進程
SWOOLE_THREAD線程模式(已廢棄)多線程Worker模式,Reactor線程來處理網(wǎng)絡(luò)事件輪詢,讀取數(shù)據(jù)。得到的請求交給Worker線程去處理。多線程模式比進程模式輕量一些,而且線程之間可以共享堆棧和資源。 訪問共享內(nèi)存時會有同步問題,需要使用Swoole提供的鎖機制來保護數(shù)據(jù)。
SWOOLE_PROCESS進程模式(默認)Swoole提供了完善的進程管理、內(nèi)存保護機制。 在業(yè)務(wù)邏輯非常復(fù)雜的情況下,也可以長期穩(wěn)定運行,適合業(yè)務(wù)邏輯非常復(fù)雜的場景。

樣例:

$serv = new swoole_server("127.0.0.1" , 8888 , SWOOLE_PROCESS , SWOOLE_SOCK_TCP);

swoole_server::set

功能描述:設(shè)置swoole_server運行時的各項參數(shù)
函數(shù)原型:

// 類成員函數(shù)
public function swoole_server::set(array $setting);
// 公共函數(shù)
function swoole_server_set(swoole_server $server, array $setting);

返回:無
參數(shù)說明:

參數(shù)說明
array setting配置選項數(shù)組,采用key-value形式

說明:
該函數(shù)必須在swoole_server::start函數(shù)調(diào)用前調(diào)用。
全部swoole_server的配置參數(shù)點此查看
樣例:

$serv->set(
    array(
        'worker_num' => 8,
        'max_request' => 10000,
        'max_conn' => 100000,
        'dispatch_mode' => 2,
        'debug_mode'=> 1,
        'daemonize' => false,
    )
);

swoole_server::on

功能描述:綁定swoole_server的相關(guān)回調(diào)函數(shù)
函數(shù)原型:

// 類成員函數(shù)
public function bool swoole_server->on(string $event, mixed $callback);

返回:設(shè)置成功返回true,否則返回false
參數(shù)說明:

參數(shù)說明
string event回調(diào)的名稱(大小寫不敏感)
mixed callback回調(diào)的PHP函數(shù),可以是函數(shù)名的字符串,類靜態(tài)方法,對象方法數(shù)組,匿名函數(shù)

說明:
該函數(shù)必須在swoole_server::start函數(shù)調(diào)用前調(diào)用。
此方法與swoole_server::handler功能相同,作用是與swoole_client風(fēng)格保持一致。
swoole_server::on中事件名稱字符串不要加on。
全部的回調(diào)函數(shù)列表點此查看
樣例:

$serv->on('connect', function ($serv, $fd){
    echo "Client:Connect.\n";
});
$serv->on('receive', array( $myclass, 'onReceive' ) ); // onReceive是myclass的成員函數(shù)

swoole_server::addlistener

功能描述:給swoole_server增加一個監(jiān)聽的地址和端口
函數(shù)原型:

// 類成員函數(shù)
public function swoole_server::addlistener(string $host, int $port, $type = SWOOLE_SOCK_TCP);
// 公共函數(shù)
function swoole_server_addlisten(swoole_server $serv, string $host, int $port, $type = SWOOLE_SOCK_TCP);

返回:無
參數(shù)說明:

參數(shù)說明
string host監(jiān)聽的IP地址
int port監(jiān)聽的端口號
int sock_type指定的socket類型

說明: swoole支持如下socket類型:

sock_type說明
SWOOLE_TCP/SWOOLE_SOCK_TCPTCP IPv4 Socket
SWOOLE_TCP6/SWOOLE_SOCK_TCP6TCP IPv6 Socket
SWOOLE_UDP/SWOOLE_SOCK_UDPUDP IPv4 Socket
SWOOLE_UDP6/SWOOLE_SOCK_UDP6UDP IPv4 Socket
SWOOLE_UNIX_DGRAMUnix UDP Socket
SWOOLE_UNIX_STREAMUnix TCP Socket

Unix Socket僅在1.7.1+后可用,此模式下host參數(shù)必須填寫可訪問的文件路徑,port參數(shù)忽略
Unix Socket模式下,客戶端fd將不再是數(shù)字,而是一個文件路徑的字符串
SWOOLE_TCP等是1.7.0+后提供的簡寫方式,與1.7.0前的SWOOLE_SOCK_TCP是等同的

樣例:

$serv->addlistener("127.0.0.1", 9502, SWOOLE_SOCK_TCP);
$serv->addlistener("192.168.1.100", 9503, SWOOLE_SOCK_TCP);
$serv->addlistener("0.0.0.0", 9504, SWOOLE_SOCK_UDP);
$serv->addlistener("/var/run/myserv.sock", 0, SWOOLE_UNIX_STREAM);

swoole_server_addlisten($serv, "127.0.0.1", 9502, SWOOLE_SOCK_TCP);

swoole_server::handler

功能描述:設(shè)置Server的事件回調(diào)函數(shù)
函數(shù)原型:

// 類成員函數(shù)
public function swoole_server::handler(string $event_name, mixed $event_callback_function);
// 公共函數(shù)
function swoole_server_handler(swoole_server $serv, string $event_name, mixed $event_callback_function);

返回:設(shè)置成功返回true,否則返回false
參數(shù)說明:

參數(shù)說明
string event_name回調(diào)的名稱(大小寫不敏感)
mixed event_callback_function回調(diào)的PHP函數(shù),可以是函數(shù)名的字符串,類靜態(tài)方法,對象方法數(shù)組,匿名函數(shù)

說明: 該函數(shù)必須在swoole_server::start函數(shù)調(diào)用前調(diào)用。
事件名稱字符串要加on。
全部的回調(diào)函數(shù)列表點此查看

onConnect/onClose/onReceive這3個回調(diào)函數(shù)必須設(shè)置。其他事件回調(diào)函數(shù)可選
如果設(shè)定了timer定時器,onTimer事件回調(diào)函數(shù)也必須設(shè)置
如果啟用了task_worker,onTask/onFinish事件回調(diào)函數(shù)必須設(shè)置

樣例:

$serv->handler('onStart', 'my_onStart');
$serv->handler('onStart', array($this, 'my_onStart'));
$serv->handler('onStart', 'myClass::onStart');

swoole_server::start

功能描述:啟動server,開始監(jiān)聽所有TCP/UDP端口
函數(shù)原型:

// 類成員函數(shù)
public function swoole_server::start()

返回:啟動成功返回true,否則返回false
參數(shù)說明:無
說明:
啟動成功后會創(chuàng)建worker_num+2個進程:Master進程+Manager進程+worker_num 個 Worker進程。
另外。啟用task_worker會增加task_worker_num個Worker進程
三種進程的說明如下:

進程類型說明
Master進程主進程內(nèi)有多個Reactor線程,基于epoll/kqueue進行網(wǎng)絡(luò)事件輪詢。收到數(shù)據(jù)后轉(zhuǎn)發(fā)到Worker進程去處理
Manager進程對所有Worker進程進行管理,Worker進程生命周期結(jié)束或者發(fā)生異常時自動回收,并創(chuàng)建新的Worker進程
Worker進程對收到的數(shù)據(jù)進行處理,包括協(xié)議解析和響應(yīng)請求

樣例:

$serv->start();

swoole_server::reload

功能描述:重啟所有worker進程。
函數(shù)原型:

// 類成員函數(shù)
public function swoole_server::reload()

返回:調(diào)用成功返回true,否則返回false
參數(shù)說明:無
說明:
調(diào)用后會向Manager發(fā)送一個SIGUSR1信號,平滑重啟全部的Worker進程(所謂平滑重啟,是指重啟動作會在Worker處理完正在執(zhí)行的任務(wù)后發(fā)生,并不會中斷正在運行的任務(wù)。)

小技巧:在onWorkerStart回調(diào)中require相應(yīng)的php文件,當(dāng)這些文件被修改后,只需要通過SIGUSR1信號即可實現(xiàn)服務(wù)器熱更新。

1.7.7版本增加了僅重啟task_worker的功能。只需向服務(wù)器發(fā)送SIGUSR2即可
樣例:

$serv->reload();

swoole_server::shutdown

功能描述:關(guān)閉服務(wù)器。
函數(shù)原型:

// 類成員函數(shù)
public function swoole_server::shutdown()

返回:調(diào)用成功返回true,否則返回false
參數(shù)說明:無
說明:
此函數(shù)可以用在worker進程內(nèi),平滑關(guān)閉全部的Worker進程。
也可向Master進程發(fā)送SIGTERM信號關(guān)閉服務(wù)器。
樣例:

$serv->shutdown();

swoole_server::addtimer

功能描述:設(shè)置一個固定間隔的定時器
函數(shù)原型:

// 類成員函數(shù)
public function swoole_server::addtimer(int $interval);
// 公共函數(shù)
function swoole_server_addtimer(swoole_server $serv, int $interval);

返回:設(shè)置成功返回true,否則返回false
參數(shù)說明:

參數(shù)說明
int interval定時器的時間間隔,單位為毫秒ms

說明:
swoole定時器的最小顆粒是1毫秒,支持多個不同間隔的定時器。
注意不能存在2個相同間隔時間的定時器。
使用多個定時器時,其他定時器必須為最小定時器時間間隔的整數(shù)倍。

該函數(shù)只能在onWorkerStart/onConnect/onReceive/onClose回調(diào)函數(shù)中調(diào)用。
增加定時器后需要為Server設(shè)置onTimer回調(diào)函數(shù),否則Server將無法啟動。

樣例:

$serv->addtimer(1000);              //1s
swoole_server_addtimer($serv,20);   //20ms

swoole_server::deltimer

功能描述:刪除指定的定時器。
函數(shù)原型:

// 類成員函數(shù)
public function swoole_server::deltimer(int $interval);

返回:無
參數(shù)說明:

參數(shù)說明
int interval定時器的時間間隔,單位為毫秒ms

說明:
刪除間隔為interval的定時器

樣例:

$serv->deltimer(1000);

swoole_server::after

功能描述:在指定的時間后執(zhí)行函數(shù)
函數(shù)原型:

// 類成員函數(shù)
public function swoole_server::after(int $after_time_ms, mixed $callback_function, mixed params);
// 公共函數(shù)
function swoole_timer_after(swoole_server $serv, int $after_time_ms, mixed $callback_function, mixed params);

返回:無
參數(shù)說明:

參數(shù)說明
int after_time_ms指定時間,單位為毫秒ms
mixed callback_function指定的回調(diào)函數(shù)
mixed params指定的回調(diào)函數(shù)的參數(shù)

說明:
創(chuàng)建一個一次性定時器,在指定的after_time_ms時間后調(diào)用callback_funciton回調(diào)函數(shù),執(zhí)行完成后就會銷毀。
callback_function函數(shù)的參數(shù)為指定的params
需要swoole-1.7.7以上版本。

樣例:

$serv->after(1000, function( $params ){
    echo "Do something\n";
} , "data" );

swoole_server::close

功能描述:關(guān)閉客戶端連接
函數(shù)原型:

// 類成員函數(shù)
public function swoole_server::close(int $fd, int $from_id = 0);

返回:關(guān)閉成功返回true,失敗返回false
參數(shù)說明:

參數(shù)說明
int fd指定關(guān)閉的fd
int from_idfd來自于哪個Reactor(swoole-1.6以后已廢棄該參數(shù))

說明:
調(diào)用close關(guān)閉連接后,連接并不會馬上關(guān)閉,因此不要在close之后立即寫清理邏輯,而是應(yīng)該在onClose回調(diào)中處理

樣例:

$serv->close( $fd );

swoole_server::send

功能描述:向客戶端發(fā)送數(shù)據(jù)
函數(shù)原型:

// 類成員函數(shù)
public function swoole_server::send(int $fd, string $data, int $from_id = 0);

返回:發(fā)送成功返回true,失敗返回false
參數(shù)說明:

參數(shù)說明
int fd指定發(fā)送的fd
string data發(fā)送的數(shù)據(jù)
int from_idfd來自于哪個Reactor

說明:

  • data,發(fā)送的數(shù)據(jù),最大不得超過2M。send操作具有原子性,多個進程同時調(diào)用send向同一個連接發(fā)送數(shù)據(jù),不會發(fā)生數(shù)據(jù)混雜。
  • 如果要發(fā)送超過2M的數(shù)據(jù),建議將數(shù)據(jù)寫入臨時文件,然后通過sendfile接口直接發(fā)送文件
  • UDP協(xié)議,send會直接在worker進程內(nèi)發(fā)送數(shù)據(jù)包
  • 向UDP客戶端發(fā)送數(shù)據(jù),必須要傳入from_id
  • 發(fā)送成功會返回true,如果連接已被關(guān)閉或發(fā)送失敗會返回false
  • swoole-1.6以上版本不需要from_id
  • UDP協(xié)議使用fd保存客戶端IP,from_id保存from_fd和port
  • UDP協(xié)議如果是在onReceive后立即向客戶端發(fā)送數(shù)據(jù),可以不傳from_id

樣例:

$serv->send( $fd , "Hello World");

swoole_server::sendfile

功能描述:發(fā)送文件到TCP客戶端連接
函數(shù)原型:

// 類成員函數(shù)
public function swoole_server::sendfile(int $fd, string $filename);

返回:發(fā)送成功返回true,失敗返回false
參數(shù)說明:

參數(shù)說明
int fd指定發(fā)送的fd
string filename發(fā)送的文件名

說明:
sendfile函數(shù)調(diào)用OS提供的sendfile系統(tǒng)調(diào)用,由操作系統(tǒng)直接讀取文件并寫入socket。sendfile只有2次內(nèi)存拷貝,使用此函數(shù)可以降低發(fā)送大量文件時操作系統(tǒng)的CPU和內(nèi)存占用。

樣例:

$serv->sendfile($fd, __DIR__.'/test.jpg');

swoole_server::connection_info

功能描述:獲取連接的信息
函數(shù)原型:

// 類成員函數(shù)
public function swoole_server::connection_info(int $fd, int $from_id = 0);

返回:如果fd存在,返回一個數(shù)組,連接不存在或已關(guān)閉返回false
參數(shù)說明:

參數(shù)說明
int fd指定發(fā)送的fd
int from_id來自于哪個Reactor

說明:
UDP socket調(diào)用該參數(shù)時必須傳入from_id.
返回的結(jié)果如下:

名稱說明
int from_id來自于哪個Reactor
int from_fd來自哪個Server Socket
int from_port來自哪個Server端口
int remote_port客戶端連接的端口
string remote_ip客戶端連接的ip
int connect_time連接到Server的時間,單位秒
int last_time最后一次發(fā)送數(shù)據(jù)的時間,單位秒

sendfile函數(shù)調(diào)用OS提供的sendfile系統(tǒng)調(diào)用,由操作系統(tǒng)直接讀取文件并寫入socket。sendfile只有2次內(nèi)存拷貝,使用此函數(shù)可以降低發(fā)送大量文件時操作系統(tǒng)的CPU和內(nèi)存占用。

樣例:

$fdinfo = $serv->connection_info($fd);
$udp_client = $serv->connection_info($fd, $from_id);

swoole_server::connection_list

功能描述:遍歷當(dāng)前Server的全部客戶端連接
函數(shù)原型:

// 類成員函數(shù)
public function swoole_server::connection_list(int $start_fd = 0, int $pagesize = 10);

返回:調(diào)用成功將返回一個數(shù)字索引數(shù)組,元素是取到的fd。數(shù)組會按從小到大排序。最后一個fd作為新的start_fd再次嘗試獲取。
調(diào)用失敗返回false
參數(shù)說明:

參數(shù)說明
int start_fd起始fd
int pagesize每頁取多少條,最大不得超過100.

說明:
connection_list僅可用于TCP,UDP服務(wù)器需要自行保存客戶端信息

樣例:

$start_fd = 0;
while(true)
{
    $conn_list = $serv->connection_list($start_fd, 10);
    if($conn_list===false)
    {
        echo "finish\n";
        break;
    }
    $start_fd = end($conn_list);
    var_dump($conn_list);
    foreach($conn_list as $fd)
    {
        $serv->send($fd, "broadcast");
    }
}

swoole_server::stats

功能描述:獲取當(dāng)前Server的活動TCP連接數(shù),啟動時間,accpet/close的總次數(shù)等信息。
函數(shù)原型:

// 類成員函數(shù)
public function swoole_server->stats();

返回:結(jié)果數(shù)組
參數(shù)說明:無
說明:
stats方法在1.7.5+后可用

名稱說明
int start_time啟動時間
int connection_num當(dāng)前的連接數(shù)
int accept_countaccept總次數(shù)
int close_countclose連接的總數(shù)

樣例:

$status = $serv->stats();

swoole_server::task

功能描述:投遞一個異步任務(wù)到task_worker池中
函數(shù)原型:

// 類成員函數(shù)
public function swoole_server::task(string $data, int $dst_worker_id = -1);

返回:調(diào)用成功返回task_worker_id,失敗返回false
參數(shù)說明:

參數(shù)說明
string datatask數(shù)據(jù)
int dst_worker_id指定投遞給哪個task進程,默認隨機投遞

說明:
此功能用于將慢速的任務(wù)異步地去執(zhí)行,調(diào)用task函數(shù)會立即返回,Worker進程可以繼續(xù)處理新的請求。
函數(shù)會返回一個$task_id數(shù)字,表示此任務(wù)的ID
任務(wù)完成后,可以通過return(低于swoole-1.7.2版本使用finish函數(shù))將結(jié)果通過onFinish回調(diào)返回給Worker進程。
發(fā)送的data必須為字符串,如果是數(shù)組或?qū)ο?,請在業(yè)務(wù)代碼中進行serialize處理,并在onTask/onFinish中進行unserialize。
data可以為二進制數(shù)據(jù),最大長度為8K(超過8K可以使用臨時文件共享)。字符串可以使用gzip進行壓縮。
使用task必須為Server設(shè)置onTaskonFinish回調(diào),并指定task_worker_num配置參數(shù)。

樣例:

$task_id = $serv->task("some data");

swoole_server::taskwait

功能描述:投遞一個同步任務(wù)到task_worker池中
函數(shù)原型:

// 類成員函數(shù)
public function swoole_server::taskwait(string $task_data, float $timeout = 0.5, int $dst_worker_id = -1);

返回:task執(zhí)行的結(jié)果
參數(shù)說明:

參數(shù)說明
string datatask數(shù)據(jù)
float timeout超時時間
int dst_worker_id指定投遞給哪個task進程,默認隨機投遞

說明:
taskwait與task方法作用相同,用于投遞一個異步的任務(wù)到task進程池去執(zhí)行。與task不同的是taskwait是阻塞等待的,直到任務(wù)完成或者超時返回。
任務(wù)完成后,可以通過return直接返回結(jié)果

樣例:

$task_id = $serv->taskwait("some data", 30);

swoole_server::finish

功能描述:傳遞Task結(jié)果數(shù)據(jù)給worker進程
函數(shù)原型:

// 類成員函數(shù)
public function swoole_server::finish(string $task_data);

返回:無
參數(shù)說明:

參數(shù)說明
string data結(jié)果數(shù)據(jù)

說明:
使用swoole_server::finish函數(shù)必須為Server設(shè)置onFinish回調(diào)函數(shù)。此函數(shù)只可用于Task Worker進程的onTask回調(diào)中
swoole_server::finish是可選的。如果Worker進程不關(guān)心任務(wù)執(zhí)行的結(jié)果,可以不調(diào)用此函數(shù)
此函數(shù)在swoole-1.7.2以上版本已廢棄,使用return代替。
樣例:

$serv->finish("result data");

swoole_server::heartbeat

功能描述:進行心跳檢測
函數(shù)原型:

// 類成員函數(shù)
public function swoole_server::heartbeat(bool $if_close_connection = true);

返回:無
參數(shù)說明:

參數(shù)說明
bool if_close_connection是否關(guān)閉超時的連接,默認為true

說明:
該函數(shù)會主動發(fā)起一次檢測,遍歷全部連接,根據(jù)設(shè)置的heartbeat_check_intervalheartbeat_idle_time參數(shù),找到那些處于idle閑置狀態(tài)的連接
swoole默認會直接關(guān)閉這些連接,heartbeat會返回這些連接的fd
如果if_close_connection為false,則heartbeat會返回這些idle連接的fd,但不會關(guān)閉這些連接
if_close_connection參數(shù) 在swoole-1.7.4以上版本可用
樣例:

$serv->heartbeat();

swoole_get_mysqli_sock

功能描述:獲取mysqli的socket文件描述符
函數(shù)原型:

// 公共函數(shù)
int swoole_get_mysqli_sock(mysqli $db)

返回:mysqli的fd
參數(shù)說明:

參數(shù)說明
mysqli dbmysqli的連接

說明:
可將mysql的socket增加到swoole中,執(zhí)行異步MySQL查詢。如果想要使用異步MySQL,需要在編譯swoole時制定--enable-async-mysql
swoole_get_mysqli_sock僅支持mysqlnd驅(qū)動
即使是異步MySQL也需要一個連接池,并發(fā)SQL必須有多個連接。
樣例:

$db = new mysqli;
$db->connect('127.0.0.1', 'root', 'root', 'test');
$db->query("show tables", MYSQLI_ASYNC);
swoole_event_add(swoole_get_mysqli_sock($db), function($db_sock) {
    global $db;
    $res = $db->reap_async_query();
    var_dump($res->fetch_all(MYSQLI_ASSOC));
    swoole_event_exit();
});

swoole_set_process_name

功能描述:設(shè)置進程的名稱
函數(shù)原型:

// 公共函數(shù)
void swoole_set_process_name(string $name);

返回:無
參數(shù)說明:

參數(shù)說明
string name進程名稱

說明:
修改進程名稱后,通過ps命令看到的將不再是php your_file.php,而是設(shè)定的字符串

在swoole_server_create之前修改為manager進程名稱 onStart調(diào)用時修改為主進程名稱 onWorkerStart修改為worker進程名稱

swoole_set_process_name存在兼容性問題,優(yōu)先使用PHP內(nèi)置的cli_set_process_title函數(shù)
樣例:

woole_set_process_name("swoole server");

swoole_version

功能描述:獲取swoole擴展的版本號
函數(shù)原型:

// 公共函數(shù)
string swoole_version();

返回:swoole擴展的版本號
參數(shù)說明:無
說明:
樣例:

echo swoole_version();

swoole_strerror

功能描述:將標準的Unix Errno錯誤碼轉(zhuǎn)換成錯誤信息
函數(shù)原型:

// 公共函數(shù)
string swoole_strerror(int $errno);

返回:轉(zhuǎn)化后的錯誤信息
參數(shù)說明:

參數(shù)說明
int errnoerrno錯誤碼

說明:
樣例:

echo swoole_strerror( $errno );

swoole_errno

功能描述:獲取最近一次系統(tǒng)調(diào)用的錯誤碼
函數(shù)原型:

// 公共函數(shù)
int swoole_errno();

返回:最近一次系統(tǒng)調(diào)用的錯誤碼
參數(shù)說明:無
說明:
錯誤碼的值與操作系統(tǒng)有關(guān)??墒鞘褂胹woole_strerror將錯誤轉(zhuǎn)換為錯誤信息。
樣例:

echo swoole_strerror(swoole_errno());

swoole_get_local_ip

功能描述:此函數(shù)用于獲取本機所有網(wǎng)絡(luò)接口的IP地址
函數(shù)原型:

// 公共函數(shù)
array swoole_get_local_ip();

返回:以interface名稱為key的關(guān)聯(lián)數(shù)組
參數(shù)說明:無
說明:
目前只返回IPv4地址,返回結(jié)果會過濾掉本地loop地址127.0.0.1
返回結(jié)果樣例array("eth0" => "192.168.1.100"); 樣例:

var_dump(swoole_get_local_ip());
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號