程嶏清单 17-6.txt
来自「< linux网络编程工具>>配套源码」· 文本 代码 · 共 23 行
TXT
23 行
程序清单17-6:connect.pl
sub connect {
# @_特殊变量用来接收传递给connect函数的参数,其中$_[0]表示第一个参数,#以此类推
my ($pkg, $to_host, $to_port,$rcvd_notification_proc) = @_;
# 创建一个新的Internet域的socket套接字
my $sock = IO::Socket::INET->new (
PeerAddr => $to_host,
PeerPort => $to_port,
Proto => 'tcp');
return undef unless $sock;
# 创建一个连接对象
my $conn = bless {
‘sock’ => $sock,
‘rcvd_notification_proc’ => $rcvd_notification_proc,
}, $pkg;
if ($rcvd_notification_proc) {
# 将_rcv和$conn一起绑定在一个闭包中
my $callback = sub {_rcv($conn)};
set_event_handler ($sock, "read" => $callback);
}
$conn; # 表明connect函数返回的是$conn连接对象
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?