用Perl語言進行Socket編程之二
發表時間:2024-06-11 來源:明輝站整理相關軟件相關文章人氣:
[摘要]connect(SOCKET,NAME) 試圖與已經調用了accept()函數并等待建立連接的另外一個進程進行對話. 如果成功,則返回真;否則返回假.NAME應該是對應SOCKET句柄正確類型的壓縮地址 范例: connect(SOCK,$address) die "Can’t c...
connect(SOCKET,NAME) 試圖與已經調用了accept()函數并等待建立連接的另外一個進程進行對話.
如果成功,則返回真;否則返回假.NAME應該是對應SOCKET句柄正確類型的壓縮地址
范例:
connect(SOCK,$address) die "Can’t connect with remote host: $!
";
gethostbyaddr(ADDRESS,TYPE) 將壓縮形式的網絡地址轉換為更易于人閱讀理解的名字與地址.
當只知道主機的IP地址時,可以使用本函數查詢主機名及其他網絡信息.它返回一個列表,包含如下信息:
($name, $alias, $addrtype, $length, $address)
其中, $name是與IP地址對應的主機名, $alias是對應$name的其他別名, $addrtype是網絡地址的類型, $length是地址的長度, 而$address則是壓縮形式IP地址的列表.
范例:
$PackedAddress = pack("C4", $IPAddr);
($name, $alias, $addrtype, $length, $address)
=gethostbyaddr($PackedAddress,2);
gethostbyname(NAME) 與上面的gethostbyaddr()函數類似,不過在這里主機名是作為參數.返回的信息格式完全相同.
范例:
$Host = "stuff.com";
($name, $alias, $addrtype, $length, $address)
=gethostbyname($Host);
@IP = unpack("C4",$address[0]);
$HostIP = join(".", @IP);