Введение в сокет-программирование в 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-программой. Вы также можете просмотреть наши другие предлагаемые статьи -

  1. Пакеты Java
  2. Копировать конструктор в Java
  3. Слияние сортировки в Java
  4. Руководство по лучшим компиляторам Java
  5. Пример пакета Java | Пример работы и кодирования