Введение в сокет-программирование в Java
Всемирная паутина и Интернет изменили то, как мы живем и общаемся друг с другом, и как мы ведем науку, инженерию и коммерцию. Современная жизнь полностью движется вокруг или сосредоточена вокруг Интернета. Предприятия постоянно ищут новые способы производства и связи с различными услугами по-новому, внедряя инновации. В этой статье мы обсудим Socket Programming на Java.
Сокеты предоставляют интерфейс для программирования сетей транспортного уровня модели OSI. Сетевые коммуникации с использованием сокетов встречаются повсеместно в Интернете. Кроме того, программа-сокет, написанная на Java, может взаимодействовать с программой-сокетом, написанной не на языке Java, например C, C ++, Python и т. Д.
Методы класса сокетов
Методы класса Socket находятся в Java. Сокет должен быть номером порта, чтобы TCP распознавал номер порта, в который должны быть отправлены данные. Java предоставляет набор классов, одним из которых является java.net. Это используется для быстрой разработки сетевых приложений. Ключевые классы, интерфейсы и исключения, присутствующие в пакете java.net, упрощают сложность создания клиентских и серверных программ:
Классы:
- Контент-обработчик
- Пакет датаграмм
- Гнездо датаграммы
- Дейтаграмма сокет имп 1
- HTTP URL Connection
- Я чистый адрес
- Многоадресная розетка
- Серверная розетка
- Разъем
- Сокет Бес 1
- URL
- URL-соединение
- URL Encoder
- Обработчик потока URL
Интерфейсы:
- Фабрика обработчиков контента
- Карта имени файла
- Socket Impl Factory
- Фабрика обработчиков URL-потоков
Исключения:
- Bind Exception
- Исключение подключения
- Неправильный URL-адрес
- Нет маршрута к хосту Исключение
- Исключение протокола
- Исключение сокета
- Неизвестное исключение хоста
- Неизвестное исключение службы.
Программирование сокетов TCP / IP
В пакете java.net используются два класса, которые используются при создании программ. Они есть:
- Серверная розетка
- Разъем
Программа сервера взаимодействует через потоки ввода и вывода. Если есть запрос на соединение, то в игру вступает новый сокет, и здесь устанавливается соединение с ним.
Метод 1 - Создание программы сокета сервера
Существуют различные шаги для создания программы сокета сервера на Java. Простые шаги создания программы сокета сервера следующие:
Шаг 1 - Сокет-сервер открыт
Общий сокет сервера = новый сокет сервера (PO)
Здесь PO - номер порта.
Здесь номер порта назначается сети сервера, через которую он будет взаимодействовать с использованием потоков ввода / вывода.
Шаг 2 - Есть запрос клиента, который мы должны терпеливо ждать
Socket General = сервер. принимаем ()
Здесь Сервер. accept () ждет клиента, а имя сокета здесь Client.
Шаг 3 - Потоки ввода / вывода создаются так, чтобы было установлено соединение
Поток ввода данных is = новый поток ввода данных (клиент. Get Input Stream ());
Поток вывода данных os = новый поток вывода данных (клиент. Get Output Stream ());
Входному потоку и выходному потоку присвоены их Get Input Stream (), и они вызываются соответственно.
Шаг 4 - Создан контакт с клиентом
Получите от клиента: String hello = br. Читать строку ();
Отправить клиенту: бр. Пишите байты («Как дела \ n»);
Следующий код связывается с клиентом, получающим и отправляющим клиенту запросы.
Шаг 5 - Наконец, гнездо сделано для выхода
Наконец, функция закрытия сокета используется для закрытия и завершения программирования сокета.
Простой пример серверного сокета показан ниже:
// Простая программа для подключения к серверу.
import java.net.*;
import java.io.*;
public class SimpleMachine (
public static void main(String args()) throws IOException (
// On port 1362 server port is registered
ServerSocket soc = new ServerSocket(1362);
Socket soc1=soc.accept(); // Link is accepted after waiting
// Linked with the socket there should be a connection
OutputStream s1out = soc1.getOutputStream();
DataOutputStream dosH = new DataOutputStream (s1out);
// A string command is sent
dosH.writeUTF("Hello how are you");
// The connection can be closed but the server socket cannot.
dosH.close();
s1out.close();
soc1.close(); )
)
Метод 2 - Создание простой программы сокета сервера
Теперь мы увидим простую клиентскую программу на Java. Шаги для создания простой клиентской программы на Java показаны ниже:
Шаг 1 - Сокет Объект создан
Сокет-клиент = новый сокет (сервер, port_id)
Сервер и идентификатор порта связаны, то есть сервер связан с идентификатором порта.
Шаг 2 - Потоки ввода / вывода созданы
is = новый поток ввода данных (client.getInputStream ());
os = новый поток вывода данных (client.getOutputStream ());
Входной поток есть, а выходной поток используется для связи с клиентом.
Шаг 3 - Потоки ввода / вывода сделаны для общения с клиентом
Данные читаются с сервера: String hello = br. ReadLine ();
Отправьте данные на сервер: br.writeBytes («Как дела \ n»)
Этот шаг связывается с сервером. Входной поток и выходной поток связываются с сервером.
Шаг 4 - Закройте сокет, когда закончите
Эта функция закроет клиент, когда это будет сделано.
Пример простой программы сокета сервера показан ниже
// Простая программа для клиента
import java.net.*;
import java.io.*;
public class SimpleMachineClient (
public static void main(String args()) throws IOException
(
// At port 1325, connection to the server is opened
Socket s1H = new Socket("host", 1325);
// Read the input stream by getting an input file from the socket
Input Stream s1I = s1. getInputStream();
Data Input Stream disH = new Data Input Stream(s1In);
String str = new String (disH.readUTF());
System.out.println(str);
// After it is done, we can close the connection.
disH.close();
s1I.close();
s1H.close();
)
)
Вывод - Socket Программирование на Java
- Сокетное программирование очень полезно в Java и в любом другом языке программирования в основном из-за того факта, что программа, написанная на Java, может соединяться с программой, написанной на C или C ++.
- Другими словами, язык сокетной программы не имеет значения, когда между ними должна быть связь.
- В этой статье мы в основном рассмотрели пример Simple Server и Simple Client, где есть соединение между сокетом сервера, а в другом - соединение между сокетом сервера.
- Для этого мы использовали программирование TCP / IP. Тем не менее, существует много методов программирования, таких как методы программирования UDP и методы программирования URL. Мы не видели примеров такого в этой статье. Мы сделали акцент на технике программирования TCP / IP.
Рекомендуемые статьи
Это руководство по программированию сокетов в Java. Здесь мы обсуждаем методы класса Socket с Java-программой. Вы также можете просмотреть наши другие предлагаемые статьи -
- Пакеты Java
- Копировать конструктор в Java
- Слияние сортировки в Java
- Руководство по лучшим компиляторам Java
- Пример пакета Java | Пример работы и кодирования