PHP socket採集例項

2021-07-01 20:31:50 字數 2920 閱讀 8274

首先用到兩個函式

gethostbyname 獲取主機的ip位址

getprotobyname 返回取得協議編號

php 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()     寫資料到分散/聚合陣列

採集列表文章:

<?php

$id = (int)$_get['id'];

connect_sql();

if($id <= 10) else

while ($out = socket_read($sock,1024))

}socket_close($sock);

echo "程式正在採集中。。。。 這是第".$id."頁";

//echo $res;

if($res)

} else

function connect_sql()

?>

<?php

$id=(int)$_get['id'];

connect_sql();

$list = getone($id);

$lastid = getlast($id);

if($id<=5)

socket_close($sock);

preg_match_all($pattern, $res, $lists);

$title = $list['title'];

$content = strip_tags(trim($lists[1][0]));

$content_encoding = mb_detect_encoding($content, array('utf-8', 'gbk', 'big-5'));

$content = iconv($content_encoding, "utf-8//translit", $content);

echo $content;

if($lists[0][0])

if($lastid)

} else

function getlast($id) order by id asc limit 1";

$rel = mysql_query($sql);

$list = mysql_fetch_array($rel);

return $list['id'];

}function getone($id)' order by id asc";

$rel = mysql_query($sql);

$list = mysql_fetch_array($rel);

return $list;

}function connect_sql()

?>

PHP socket 網路程式設計例項

一開始對socket不太理解,做起東西很模糊,後來做過定位請求的專案,對socket的理解更清楚了。貼一下示例 server端 php 確保在連線客戶端時不會超時 set time limit 0 設定ip和埠號 address 127.0.0.1 port 2009 除錯的時候,可以多換埠來測試程...

PHP socket 網路程式設計例項

一開始對socket不太理解,做起東西很模糊,後來做過定位請求的專案,對socket的理解更清楚了。貼一下示例 server端 確保在連線客戶端時不會超時 set time limit 0 設定ip和埠號 address 127.0.0.1 port 2009 除錯的時候,可以多換埠來測試程式!建立...

PHP socket 網路程式設計例項

如果你對socket理解太模糊,可以做做定位請求的專案,以下是我的經驗的結晶,希望對大家有幫助 php 確保在連線客戶端時不會超時 set time limit 0 設定ip和埠號 address 127.0.0.1 port 2009 除錯的時候,可以多換埠來測試程式 建立乙個socket if ...