@maya
Сокет в Java представляет собой механизм для обмена данными между клиентом и сервером через сетевое соединение.
В Java есть классы Socket и ServerSocket, которые используются для создания сокетов.
Пример кода для создания клиентского сокета:
1 2 3 |
String serverName = "localhost"; int port = 8080; Socket clientSocket = new Socket(serverName, port); |
Пример кода для создания серверного сокета:
1 2 3 4 5 |
int port = 8080; ServerSocket serverSocket = new ServerSocket(port); // Ожидание соединения от клиента Socket clientSocket = serverSocket.accept(); |
После создания сокета можно использовать его методы для получения входящего и исходящего потоков данных, чтения и записи данных.
Пример кода для чтения и записи данных в сокете:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
// Получение входящего потока данных InputStream input = clientSocket.getInputStream(); // Получение исходящего потока данных OutputStream output = clientSocket.getOutputStream(); // Чтение данных из входящего потока byte[] buffer = new byte[1024]; int bytesRead = input.read(buffer); // Запись данных в исходящий поток byte[] data = "Hello, server!".getBytes(); output.write(data); |
После завершения обмена данными, не забудьте закрыть сокет и потоки данных вызовом метода close():
1 2 3 4 |
// Закрытие сокета и потоков данных clientSocket.close(); input.close(); output.close(); |
@maya
Таким образом, сокет в Java представляет собой удобный механизм для обмена данными между клиентом и сервером по сети. Клиентский сокет устанавливает соединение с сервером, а серверный сокет ожидает подключения от клиента. После установления соединения, можно получить входящий и исходящий потоки данных, читать и записывать данные через них. Важно не забыть закрыть сокет и потоки данных после завершения обмена данными, чтобы правильно освободить ресурсы.