明辉站/网站教程/内容

用Perl语言进行Socket编程之二

网站教程2024-06-06 阅读
[摘要]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);

……

相关阅读