首先用到兩個函式
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 ...