⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 程嶏清单 17-6.txt

📁 < linux网络编程工具>>配套源码
💻 TXT
字号:
程序清单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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -