В примере этой статьи кратко описан метод реализации связи через сокеты в Android. Конкретное содержание следующее:
1. Обзор сокетной связи
С точки зрения непрофессионала, сокет является краеугольным камнем связи и основной операционной единицей сетевой связи, поддерживающей протокол TCP/IP. Это абстрактное представление конечной точки в процессе сетевого взаимодействия и содержит пять типов информации, необходимой для сетевого взаимодействия: протокол, используемый для подключения, IP-адрес локального хоста, порт протокола локального процесса, IP-адрес удаленный хост и протокол удаленного порта.
Когда уровень приложения передает данные через транспортный уровень, TCP сталкивается с проблемой одновременного предоставления параллельных услуг нескольким процессам приложения. Многим TCP-соединениям или нескольким прикладным процессам может потребоваться передача данных через один и тот же порт протокола TCP. Чтобы различать различные процессы и соединения приложений, многие компьютерные операционные системы предоставляют интерфейсы сокетов (сокетов), позволяющие приложениям взаимодействовать с протоколом TCP/IP. Уровень приложений может использовать интерфейс Socket с транспортным уровнем, чтобы различать сообщения от различных процессов приложений или сетевых подключений для реализации параллельных служб передачи данных.
Короче говоря, сокет — это инкапсуляция протокола TCP/IP.
2. Шаги по использованию Socket (клиента):
1. Установите соединение Socket (Tcp).
В Java довольно легко установить соединение Socket, чего можно добиться с помощью класса Socket, предоставляемого библиотекой классов.
Socketclient=null; //Указывает клиент client=newSocket("localhost",5000);
2. Отправить данные
PrintStreamout=newPrintStream(socket.getOutputStream()); //PrintStream является наиболее удобным для отправки данных.
3. Получите информацию о возврате
buf=newBufferedReader(newInputStreamReader(socket.getInputStream())) // Завершаем однократный прием и читаем входной поток Сокета, а также читаем в нем возвращаемую информацию
4. Закрыть розетку
Сокет.закрыть();
3. Дополнение:
Сторона Socketsever (немногопоточная реализация) ServerSocketserver=null; //Определить класс ServerSocket Socketclient=null; //Указывает клиент PrintStreamout=null; //Вывод потока печати является наиболее удобным. server=newServerSocket(8888); находится на порту 8888. Прослушивание System.out.println("Сервер запущен и ожидает подключения клиента."); client=server.accept(); //Получаем соединение, программа переходит в состояние блокировки Stringstr="helloworld"; //Указывает информацию для вывода out=newPrintStream(client.getOutputStream());out.println(str); //Выводим информацию в клиент client. close();server.close();