Сетевые приложения Связь с Web Аплет ShowChart Приложения SocketServ и SocketClient Аплет Form |
Класс 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(); |