Класс Socket

Оглавление Сетевые приложения Адрес IP Адрес URL Класс URL Сокеты Потоковые сокеты Класс Socket Датаграммные сокеты Связь с Web Аплет ShowChart Приложения SocketServ и SocketClient Аплет Form

Назад Вперед

После краткого введения в сокеты приведем описание наиболее интересных конструкторов и методов класса 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();

Назад Вперед