PHP向socket伺服器收發資料的方法,socket收發
本文執行個體講述了PHP向socket伺服器收發資料的方法。分享給大家供大家參考。具體如下:
在PHP要向其它程式發送資料,則需要使用到php的socket功能來執行個體了,下面我們簡單看一個執行個體,代碼如下:
代碼如下:
/*socket收發資料 @host(string) socket伺服器IP @post(int) 連接埠 @str(string) 要發送的資料 @back 1|0 socket端是否有資料返回 返回true|false|服務端資料 */ function sendSocketMsg($host,$port,$str,$back=0){ $socket = socket_create(AF_INET,SOCK_STREAM,0); if ($socket < 0) return false; $result = @socket_connect($socket,$host,$port); if ($result == false)return false; socket_write($socket,$str,strlen($str)); if($back!=0){ $input = socket_read($socket,1024); socket_close ($socket); return $input; }else{ socket_close ($socket); return true; } }
socker_read的第二個參數用以指定讀入的位元組數,你可以通過它來限制從用戶端擷取資料的大小.
sock函數介紹
| 函數名 |
描述 |
| socket_accept() |
接受一個Socket串連 |
| socket_bind() |
把socket綁定在一個IP地址和連接埠上 |
| socket_clear_error() |
清除socket的錯誤或者最後的錯誤碼 |
| socket_close() |
關閉一個socket資源 |
| socket_connect() |
開始一個socket串連 |
| socket_create_listen() |
在指定連接埠開啟一個socket監聽 |
| socket_create_pair() |
產生一對沒有區別的socket到一個數組裡 |
| socket_create() |
產生一個socket,相當於產生一個socket的資料結構 |
| socket_get_option() |
擷取socket選項 |
| socket_getpeername() |
擷取遠程類似主機的ip地址 |
| socket_getsockname() |
擷取本地socket的ip地址 |
| socket_iovec_add() |
添加一個新的向量到一個分散/彙總的數組 |
| socket_iovec_alloc() |
這個函數建立一個能夠發送接收讀寫的iovec資料結構 |
| socket_iovec_delete() |
刪除一個已經分配的iovec |
| socket_iovec_fetch() |
返回指定的iovec資源的資料 |
| socket_iovec_free() |
釋放一個iovec資源 |
| socket_iovec_set() |
設定iovec的資料新值 |
| socket_last_error() |
擷取當前socket的最後錯誤碼 |
| socket_listen() |
監聽由指定socket的所有串連 |
| socket_read() |
讀取指定長度的資料 |
| socket_readv() |
讀取從分散/彙總數組過來的資料 |
| socket_recv() |
從socket裡結束資料到緩衝 |
| socket_recvfrom() |
接受資料從指定的socket,如果沒有指定則預設當前socket |
| socket_recvmsg() |
從iovec裡接受訊息 |
| socket_select() |
多路選擇 |
| socket_send() |
這個函數發送資料到已串連的socket |
| socket_sendmsg() |
發送訊息到socket |
| socket_sendto() |
發送訊息到指定地址的socket |
| socket_set_block() |
在socket裡設定為塊模式 |
| socket_set_nonblock() |
socket裡設定為非塊模式 |
| socket_set_option() |
設定socket選項 |
| socket_shutdown() |
這個函數允許你關閉讀、寫、或者指定的socket |
| socket_strerror() |
返回指定錯誤號碼的詳細錯誤 |
| socket_write() |
寫資料到socket緩衝 |
| socket_writev() |
寫資料到分散/彙總數組 |
注意:socket_read函數會一直讀取殼戶端資料,直到遇見n,t或者字元,PHP指令碼把這些字元看做是輸入的結束符.
希望本文所述對大家的php程式設計有所協助。
http://www.bkjia.com/PHPjc/947218.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/947218.htmlTechArticlePHP向socket伺服器收發資料的方法,socket收發 本文執行個體講述了PHP向socket伺服器收發資料的方法。分享給大家供大家參考。具體如下: 在PHP要...