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

PHP中向socket服務器收發數據

編輯:關於PHP編程

在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函數
函數名      描述
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腳本把這些字符看做是輸入的結束符。


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