Философия Java


Простой пример сервера и клиента - часть 4


Когда клиент отсылает строку, состоящую из “END,” программа прерывает выполнение цикла и закрывает Socket.

Вот клиент:

//: c15:JabberClient.java

// Очень простой клиент, который просто отсылает строки серверу

// и читает строки, которые посылает сервер

import java.net.*; import java.io.*;

public class JabberClient { public static void main(String[] args) throws IOException { // Установка параметра в null в getByName()

// возвращает специальный IP address - "Локальную петлю",

// для тестирования на одной машине без наличия сети

InetAddress addr = InetAddress.getByName(null); // Альтернативно Вы можете использовать

// адрес или имя:

// InetAddress addr =

// InetAddress.getByName("127.0.0.1");

// InetAddress addr =

// InetAddress.getByName("localhost");

System.out.println("addr = " + addr); Socket socket = new Socket(addr, JabberServer.PORT); // Окружаем все блоками try-finally to make

// чтобы убедиться что сокет закрывается:

try { System.out.println("socket = " + socket); BufferedReader in = new BufferedReader( new InputStreamReader( socket.getInputStream())); // Вывод автоматически сбрасывается

// с помощью PrintWriter:

PrintWriter out = new PrintWriter( new BufferedWriter( new OutputStreamWriter( socket.getOutputStream())),true); for(int i = 0; i < 10; i ++) { out.println("howdy " + i); String str = in.readLine(); System.out.println(str); } out.println("END"); } finally { System.out.println("closing..."); socket.close(); } } } ///:~

В методе main( ) Вы видите все три пути для возврата IP адреса локальной петли: используя null, localhost, либо явно зарезервированный адрес 127.0.0.1. Конечно, если Вы хотите соединиться с машиной в сети Вы подставляете IP адрес этой машины. Когда InetAddress addr печатается (с помощью автоматического вызова метода toString( )) получается следующий результат:

localhost/127.0.0.1

Подстановкой параметра null в getByName( ), она по умолчанию использует localhost, и это создает специальный адрес 127.0.0.1.




Начало  Назад  Вперед