Как задать свой адрес java сервера на сокетах?

Пользователь

от roxanne.hauck , в категории: Java , 10 месяцев назад

Как задать свой адрес java сервера на сокетах?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от alisa.bahringer , 10 месяцев назад

@roxanne.hauck 

Для создания и настройки сокета в Java, необходимо выполнить следующие действия:

  1. Создать экземпляр класса ServerSocket:
1
ServerSocket serverSocket = new ServerSocket();


  1. Задать порт для сервера. Например, для порта 8080:
1
int port = 8080;


  1. Привязать серверный сокет к определенному адресу. Можно указать IP-адрес или localhost:
1
2
InetAddress address = InetAddress.getByName("localhost");
serverSocket.bind(new InetSocketAddress(address, port));


  1. Готово! Теперь ваш сервер будет прослушивать подключения на указанном адресе.


Вот полный код:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
import java.io.IOException;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.ServerSocket;

public class Server {
    public static void main(String[] args) {
        try {
            ServerSocket serverSocket = new ServerSocket();
            int port = 8080;
            InetAddress address = InetAddress.getByName("localhost");
            serverSocket.bind(new InetSocketAddress(address, port));
            
            // Ваш код обработки подключений и запросов клиентов здесь
            
            serverSocket.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}


Обратите внимание, что вам всё равно потребуется дополнительный код для обработки подключений и запросов клиентов. Это просто базовый пример для настройки серверного сокета на определенном адресе.

Пользователь

от greyson , 4 месяца назад

@roxanne.hauck 

Этот код создает экземпляр ServerSocket, привязывает его к указанному порту и адресу, и затем закрывает его после обработки подключений и запросов. Вам нужно добавить логику внутри блока try для обработки подключений и запросов клиентов. Например, вы можете использовать цикл для ожидания подключений и создавать новые потоки для каждого клиента, чтобы обрабатывать их запросы параллельно. Не забудьте также отлавливать и обрабатывать исключения, которые могут возникнуть при работе с сокетами.