建站知識(shí)
網(wǎng)站設(shè)計(jì)知識(shí) 網(wǎng)站建設(shè)知識(shí) 網(wǎng)絡(luò)營(yíng)銷(xiāo)知識(shí) 微信資訊 常見(jiàn)問(wèn)題 網(wǎng)站備案 近期客戶(hù)網(wǎng)站建設(shè)套餐
標(biāo)準(zhǔn)型網(wǎng)站建設(shè) 精美型網(wǎng)站建設(shè) 營(yíng)銷(xiāo)型網(wǎng)站建設(shè) 高端品牌網(wǎng)站建設(shè) 電子商務(wù)型網(wǎng)站建設(shè) 行業(yè)門(mén)戶(hù)型網(wǎng)站建設(shè) 手機(jī)網(wǎng)站建設(shè) 微信網(wǎng)站建設(shè)php中關(guān)于socket的系列函數(shù)總結(jié)
本文列舉了所有關(guān)于PHP語(yǔ)言中使用socket相關(guān)服務(wù)的一些函數(shù)。注意使用如下函數(shù)之前,你需要確保你的socket已打開(kāi),如果你沒(méi)有打開(kāi),請(qǐng)編輯你的php.ini文件,去掉下面這行前面的注釋(分號(hào)):
代碼如下:
extension=php_sockets.dll
如果你無(wú)法去掉注釋?zhuān)敲凑?qǐng)使用下面的代碼來(lái)加載擴(kuò)展庫(kù):
代碼如下:
if(!extension_loaded('sockets')){
if(strtoupper(substr(PHP_OS,3))=="WIN"){
dl('php_sockets.dll');
}else{
dl('sockets.so');
}
}
如果你不知道你的socket是否打開(kāi),那么你可以使用phpinfo()函數(shù)來(lái)確定socket是否打開(kāi)。你通過(guò)查看phpinfo信息了解socket是否打開(kāi)。
php socket 相關(guān)函數(shù)如下:
代碼如下:
socket_accept() 接受一個(gè)Socket連接
socket_bind() 把socket綁定在一個(gè)IP地址和端口上
socket_clear_error() 清除socket的錯(cuò)誤或者最后的錯(cuò)誤代碼
socket_close() 關(guān)閉一個(gè)socket資源
socket_connect() 開(kāi)始一個(gè)socket連接
socket_create_listen() 在指定端口打開(kāi)一個(gè)socket監(jiān)聽(tīng)
socket_create_pair() 產(chǎn)生一對(duì)沒(méi)有區(qū)別的socket到一個(gè)數(shù)組里
socket_create() 產(chǎn)生一個(gè)socket,相當(dāng)于產(chǎn)生一個(gè)socket的數(shù)據(jù)結(jié)構(gòu)
socket_get_option() 獲取socket選項(xiàng)
socket_getpeername() 獲取遠(yuǎn)程類(lèi)似主機(jī)的ip地址
socket_getsockname() 獲取本地socket的ip地址
socket_iovec_add() 添加一個(gè)新的向量到一個(gè)分散/聚合的數(shù)組
socket_iovec_alloc() 這個(gè)函數(shù)創(chuàng)建一個(gè)能夠發(fā)送接收讀寫(xiě)的iovec數(shù)據(jù)結(jié)構(gòu)
socket_iovec_delete() 刪除一個(gè)已經(jīng)分配的iovec
socket_iovec_fetch() 返回指定的iovec資源的數(shù)據(jù)
socket_iovec_free() 釋放一個(gè)iovec資源
socket_iovec_set() 設(shè)置iovec的數(shù)據(jù)新值
socket_last_error() 獲取當(dāng)前socket的最后錯(cuò)誤代碼
socket_listen() 監(jiān)聽(tīng)由指定socket的所有連接
socket_read() 讀取指定長(zhǎng)度的數(shù)據(jù)
socket_readv() 讀取從分散/聚合數(shù)組過(guò)來(lái)的數(shù)據(jù)
socket_recv() 從socket里結(jié)束數(shù)據(jù)到緩存
socket_recvfrom() 接受數(shù)據(jù)從指定的socket,如果沒(méi)有指定則默認(rèn)當(dāng)前socket
socket_recvmsg() 從iovec里接受消息
socket_select() 多路選擇
socket_send() 這個(gè)函數(shù)發(fā)送數(shù)據(jù)到已連接的socket
socket_sendmsg() 發(fā)送消息到socket
socket_sendto() 發(fā)送消息到指定地址的socket
socket_set_block() 在socket里設(shè)置為塊模式
socket_set_nonblock() socket里設(shè)置為非塊模式
socket_set_option() 設(shè)置socket選項(xiàng)
socket_shutdown() 這個(gè)函數(shù)允許你關(guān)閉讀、寫(xiě)、或者指定的socket
socket_strerror() 返回指定錯(cuò)誤號(hào)的詳細(xì)錯(cuò)誤
socket_write() 寫(xiě)數(shù)據(jù)到socket緩存
socket_writev() 寫(xiě)數(shù)據(jù)到分散/聚合數(shù)組