Иллюстрированный самоучитель по Java


           

вывода вызывает закрытие сокета. Обратно,


System.err.println("File not found, code = " + code);

System.exit (0); 





while ((line = br.readLine()) != null)

System.out.println{line); 

sock.close(); 

}catch(Exception e){

System.err.println(e); 





}

Закрытие потоков ввода/ вывода вызывает закрытие сокета. Обратно, закрытие сокета закрывает и потоки.

Для создания сервера в пакете java.net есть класс serversocket. В конструкторе этого класса указывается номер порта

ServerSocket(int port)

Основной метод этого класса accept () ожидает поступления запроса. Когда запрос получен, метод устанавливает соединение с клиентом и возвращает объект класса socket, через который сервер будет обмениваться информацией с клиентом.



Листинг 19.4.


Упрощенный HTTP-сервер

import j ava.net.*;

import java.io.*;

import j ava.uti1.*;

class Server!

public static void main(String[] args){ 

try{

ServerSocket ss = new ServerSocket(Integer.parselnt(args[0])); 

while (true)

new HttpConnect(ss.accept()); 

}catch(ArraylndexOutOfBoundsException ae){ 

System.err.println("Usage: Server port"); 

System.exit(0); 

}catch(IOException e){

System.out.println(e); 





}

class HttpConnect extends Thread{ 

private Socket sock;

HttpConnect(Socket s) { 

sock = s;

setPriority(NORM_PRIORITY - 1); 

start {) ; 

}

public void run(){ 

try{

PrintWriter pw = new PrintWriter(new OutputStreamWriter(

sock.getOutputStream()}, true); 

BufferedReader br = new BufferedReader(new InputStreamReader(

sock.getlnputStream() ) ) ; 

String req = br.readLine(); 

System.out.println("Request: " + req); 

StringTokenizer st = new StringTokenizer(req); 

if ((st.countTokens() >= 2) && st.nextToken().equals("POST")){ 

if ((req = st.nextToken()).endsWith("/") II req.equals(""))


Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий