明輝手游網(wǎng)中心:是一個免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

用Perl語言進(jìn)行Socket編程之二

[摘要]connect(SOCKET,NAME) 試圖與已經(jīng)調(diào)用了accept()函數(shù)并等待建立連接的另外一個進(jìn)程進(jìn)行對話. 如果成功,則返回真;否則返回假.NAME應(yīng)該是對應(yīng)SOCKET句柄正確類型的壓縮地址 范例: connect(SOCK,$address) die "Can’t c...
connect(SOCKET,NAME) 試圖與已經(jīng)調(diào)用了accept()函數(shù)并等待建立連接的另外一個進(jìn)程進(jìn)行對話.

如果成功,則返回真;否則返回假.NAME應(yīng)該是對應(yīng)SOCKET句柄正確類型的壓縮地址

范例:
connect(SOCK,$address) die "Can’t connect with remote host: $!
";

gethostbyaddr(ADDRESS,TYPE) 將壓縮形式的網(wǎng)絡(luò)地址轉(zhuǎn)換為更易于人閱讀理解的名字與地址.
當(dāng)只知道主機(jī)的IP地址時,可以使用本函數(shù)查詢主機(jī)名及其他網(wǎng)絡(luò)信息.它返回一個列表,包含如下信息:

($name, $alias, $addrtype, $length, $address)

  其中, $name是與IP地址對應(yīng)的主機(jī)名, $alias是對應(yīng)$name的其他別名, $addrtype是網(wǎng)絡(luò)地址的類型, $length是地址的長度, 而$address則是壓縮形式IP地址的列表.

范例:

$PackedAddress = pack("C4", $IPAddr);
($name, $alias, $addrtype, $length, $address)
=gethostbyaddr($PackedAddress,2);
gethostbyname(NAME) 與上面的gethostbyaddr()函數(shù)類似,不過在這里主機(jī)名是作為參數(shù).返回的信息格式完全相同.

范例:

$Host = "stuff.com";
($name, $alias, $addrtype, $length, $address)
=gethostbyname($Host);
@IP = unpack("C4",$address[0]);
$HostIP = join(".", @IP);