Класс Socket
После краткого введения в сокеты приведем
описание наиболее интересных конструкторов и
методов класса Socket.
Конструкторы класса Socket
Чаще всего для создания сокетов в клиентских
приложениях вы будете использовать один из двух
конструкторов, прототипы которых приведены ниже:
public Socket(String host,int port);
public Socket(InetAddress address,int port);
Первый из этих конструкторов позволяет
указывать адрес серверного узла в виде текстовой
строки, второй - в виде ссылки на объект класса
InetAddress. Вторым параметром задается номер порта, с
использованием которого будут передаваться
данные.
В классе Socket определена еще одна пара
конструкторов, которая, однако не рекомендуется
для использования:
public Socket(String host,
int port, boolean stream);
public Socket(InetAddress address,
int port, boolean stream);
В этих конструкторах последний параметр
определяет тип сокета. Если этот параметр равен
true, создается потоковый сокет, а если false -
датаграммный. Заметим, что для работы с
датаграммными сокетами следует использовать
класс DatagramSocket.
Методы класса Socket
Перечислим наиболее интересные, на наш взгляд,
методы класса Socket.
Прежде всего, это методы getInputStream и getOutputStream,
предназначенные для создания входного и
выходного потока, соответственно:
public InputStream getInputStream();
public OutputStream getOutputStream();
Эти потоки связаны с сокетом и должны быть
использованы для передачи данных по каналу
связи.
Методы getInetAddress и getPort позволяют определить
адрес IP и номер порта, связанные с данным сокетом
(для удаленного узла):
public InetAddress getInetAddress();
public int getPort();
Метод getLocalPort возвращает для данного сокета
номер локального порта:
public int getLocalPort();
После того как работа с сокетом завершена, его
необходимо закрыть методом close:
public void close();
И, наконец, метод toString возвращает текстовую
строку, представляющую сокет:
public String toString();
|