Сокет - это абстракция для соединения между двумя хостами (клиентом и сервером). Как только соединение установлено, хосты клиента и сервера получают потоки ввода и вывода из сокета и используют эти потоки для отправки данных друг другу. (Подробнее см. здесь ).
Эта диаграмма может вам помочь.
На клиенте:
Socket socket = new Socket("server ip", 9999);
Это устанавливает соединение по сети.
InputStream in = socket.getInputStream();
Как только соединение установлено, получить входной поток из сокета для чтения данных.
OutputStream out = socket.getOutputStream();
Использовать вывод поток из соединения сокета для записи данных.
На сервере:
ServerSocket ss = new ServerSocket(9999);
Инициирование прослушивающего сокета TCP (сервер сокет), который привязан к известному локальному порту, который прослушивает и принимает подключения от клиентов.
Socket socket = ss.accept();
Блокирует текущий поток, пока клиент не подключится, и не возвратит подключенный разъем принятого подключения. Обратите внимание, что здесь возвращается тот же тип java. net .Socket, что и для клиента. Подобно клиенту, сервер может использовать OutputStream
и InputStream
из сокета для записи и чтения данных.
См. здесь для более подробной информации.