Информация о клиенте читается через поток ввода, и, соответственно, она реализуется через выходной поток.
Код класса сервера:
Импорт java.io.bufferedReader; импорт java.io.ioexception; import java.io.inputStream; импорт java.io.inputStreamReader; импорт java.io.outputStream; импорт java.io.printwriter; import java.net.serversocketcocket; imporm.net.socket; import java.tlog. java.util.logging.logger;/** * * @author whn6325689 */public class server {// server side public static void main (string [] args) {try {// 1. Создайте гнездо на стороне сервера, то есть Serversocket, укажите граничный порт и прослушайте этот порт. Serversocket Serversocket = New Serversocket (8888); // 2. Метод Call Serversocket's Accept () для ожидания клиента подключится к System.out.println ("== Сервер собирается запустить, ожидая, пока клиент подключится =="); Socket Socket = serversocket.accept (); // 3. Получите входной поток, чтобы прочитать информацию о входе в систему, отправляемой клиентской inputstream IS = socket.getInputStream (); // Byte Input Stream InputStreamReader isr = new InputStreamReader (IS); // преобразование байтового потока в потоку символов // Добавить BufferedRead для считывания символов BufferedReader = new BufferedErder (ISR); string info = null ;// Loop для считывания. while ((info = BufferedReader.readline ())! = NULL) {System.out.println («Я сервер, а информация, представленная клиентом:"+info);} socket.shutdownInput (); // 4. Получите выходной поток и ответьте на запрос клиента outputStream OS = Socket.getOutputStream (); PrintWriter pw = new PrintWriter (OS); // конвертируйте в Print Stream Pw.Write («Welcome!»); Pw.flush (); // Fresh Cache // 5. Закрыть связанные ресурсы BufferedReader.Close (); is.Close (); isr.Close (); socket.close (); serversocket.close (); os.close (); pw.close ();} catch (ioexception ex) {logger.getLogger (server.cles.getName ()).Код класса клиента:
Импорт java.io.bufferedReader; импорт java.io.ioexception; import java.io.inputStream; импорт java.io.inputStreamReader; импорт java.io.OutputStream; импорт java.io.printwriter; import java.net.socket; import java. * * @author whn6325689 */public class client {// client public void main (string [] args) {try {// 1. Создайте клиентский сокет, укажите адрес сервера и номер порта. Сокет сокет = новый сокет ("127.0.0.1", 8888); // 2. Получите выходной поток для отправки информации на сервер outputstream os = socket.getOutputStream (); // Byte Output Stream // Конвертирование в печати потока PrintWriter pw = new PrintWriter (OS); Pw.Write ("username: Admin; пароль: admin"); pw.flush (); // свежая кеш и вывод информация на сервер/////close stream -stream. Получите входной поток, чтобы прочитать информацию о ответе на Server InputStream IS = socket.getInputStream (); BufferedReader Br = New BufferedReader (New InputStreamReader (IS)); String Info = null; while ((info = br.readline ())! = Null) {System.out.println («Я есть клиент, а информация возвращается на сервер:«+). Закрыть ресурс br.close (); is.close (); pw.close (); os.close (); socket.close ();} catch (ioexception ex) {logger.getlogger (client.class.getname ()).Сначала запустите класс на стороне сервера, а затем запустите класс клиента:
Результат вывода класса на стороне сервера:
== Сервер собирается запустить, ожидая подключения клиента == Я сервер, информация, представленная клиентом: Имя пользователя: admin; Пароль: администратор
Результат вывода клиентского класса:
Я клиент, а информация, возвращаемая сервером: добро пожаловать!
Суммировать
Выше приведено все содержимое этой статьи о коде экземпляра Client Server Socket Socket Socket Socket Socket, я надеюсь, что это будет полезно для всех. Заинтересованные друзья могут продолжать ссылаться на этот сайт:
Java Programming Socket реализует несколько клиентов для подключения к одному и тому же коду сервера
Пример кода для реализации связи сокетов в многопоточном программировании Java
Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это. Спасибо, друзья, за вашу поддержку на этом сайте!