国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP向socket服務器收發數據的方法

2024-05-04 23:30:32
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了PHP向socket服務器收發數據的方法,分析了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程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 清河县| 屯门区| 雷州市| 呼伦贝尔市| 平塘县| 松溪县| 郑州市| 习水县| 二手房| 石嘴山市| 泽普县| 长葛市| 望江县| 乌兰察布市| 南宫市| 新津县| 抚顺县| 濮阳市| 惠州市| 白河县| 隆林| 哈尔滨市| 安阳市| 萍乡市| 屯留县| 南部县| 德化县| 玉田县| 靖州| 巴中市| 闽侯县| 鄂伦春自治旗| 桂东县| 静海县| 安化县| 塔城市| 临泉县| 平遥县| 报价| 宕昌县| 西宁市|