程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP向socket服務器收發數據的方法

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

編輯:PHP綜合

本文實例講述了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程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved