Эти три метода, относящиеся к реализации протокола TCP, применяются редко, поскольку они обычно вызываются автоматически конструктором new(). Однако если их нужно вызвать вручную, это можно сделать, создав новый сокет ТCР без указания параметра PeerAddr или Listen. При этом преимущество такой реализации очевидно и также наглядно, как видео о гаджетах , показывающее всю суть их применения.
$sock = IO::Socket::INET->new (Proto=>’tcp’);
$desc_addr = sockaddr_in(...) # и т. д.
$sock ->connect ($dest_addr);
$return_val = $sock->connect($port,$host)
$return_val = $sock->bind ($port, $host)
Для удобства в работе предусмотрены альтернативные формы вызова методов connect() и bind() с двумя параметрами, в которых применяются неупакованные значения номера порта и адреса хоста, а не упакованный адрес. Адрес хоста может быть указан в виде четырех чисел, разделенных точками, или в виде символического имени хоста.
$return_val = $socket->shutdown ($how)
Как и в функционально-ориентированном API-интерфейсе, метод shutdown( ) предоставляет наиболее мощный способ закрытия сокета. Он позволяет закрыть сокет, даже если еще существуют другие открытые копии сокета в дочерних процессах, созданных путем ветвления. Параметр $how управляет тем, какая часть двунаправленного сокета должна быть закрыта, с использованием кодов.
$my_addr = $sock->sockname()
$her_addr = $sock->peerame()
Методы sockname() и peername() - это просто оболочки для их функционально-ориентированных эквивалентов. Как и соответствующие им встроенные функции, эти методы возвращают упакованные адреса сокетов, которые должны быть распакованы с помощью функций sockaddr_in().