Rambler's Top100

А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Э Ю Я

Все примеры | Примеры по пакетам

Сервер помещающий данные в карту SortedMap


//Сервер помещающий данные в карту SortedMap.
//Клиент 1 записывает ключ и значение в карту.
//Клиент2 считывает значение по заданному ключу
//Значение возвращается обернутым в вектор, что нужно для будущих модификаций.
package server1;

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

public class MapCachedServer {
    static   SortedMap servMap=new TreeMap();
    static Vector vector=new Vector();

    public static void main(String [] args) throws ClassNotFoundException {
        vector.clear();
    servMap.put("a1", "Ответ от сервера");
        ServerSocket serversocket = null;
        Socket clientsocket;
 ObjectOutputStream outputStream = null;
  ObjectInputStream inputStream = null;
        // Default port number we are going to use
        int portnumber = 1234;
        if (args.length >= 1){
            portnumber = Integer.parseInt(args[0]);
        }

        // Create Server side socket
        try {
            serversocket = new ServerSocket(portnumber);
        } catch (IOException ie) {
            System.out.println("Не открывается сокет" + ie);
            System.exit(1);
        }
        System.out.println("Сокет создан " + serversocket);

        // Wait for the data from the clientsocket and reply
        while(true) {

            try {

                System.out.println("Ожидание соединения...");
                clientsocket = serversocket.accept();

                System.out.println("Есть соединение");
                String clientsocketHost = clientsocket.getInetAddress().getHostAddress();
                int clientsocketPort = clientsocket.getPort();
    System.out.println("host = " + clientsocketHost + " port = " + clientsocketPort);

                // Read data from the clientsocket
                InputStream clientsocketIn = clientsocket.getInputStream();
                BufferedReader br = new BufferedReader(new
                        InputStreamReader(clientsocketIn));
                String msgFromclientsocket = br.readLine();
                System.out.println("Сообщение от клиента = " + msgFromclientsocket);

      if (msgFromclientsocket != null && !msgFromclientsocket.equalsIgnoreCase("bye")) {
                    OutputStream clientsocketOut = clientsocket.getOutputStream();
                    PrintWriter pw = new PrintWriter(clientsocketOut, true);
                    String answerMsg = "Привет, " + msgFromclientsocket;
                    pw.println(answerMsg);

           inputStream = new ObjectInputStream(clientsocket.getInputStream());
            if(msgFromclientsocket.contains("put ")){
                 msgFromclientsocket=  msgFromclientsocket.replace("put ", "");
                 String[] fields = msgFromclientsocket.split(" ");
System.out.println("servMap ! = " + fields[0]);
                  servMap.put(fields[0], fields[1]);
    System.out.println("servMap ! = " + servMap);
               
                }
           if(msgFromclientsocket.contains("get ")){
                 msgFromclientsocket=  msgFromclientsocket.replace("get ", "");
                 if(servMap.containsKey(msgFromclientsocket)){
                  answerMsg="Ответ "+  servMap.get(msgFromclientsocket);
System.out.println("Ответ от сервера = " + answerMsg);

                if(!vector.contains(answerMsg)){
                vector.add(answerMsg);
                }
                 }
                
                }

     outputStream = new ObjectOutputStream(clientsocket.getOutputStream());

           outputStream.writeObject(vector);

            Vector vect =new Vector();

            Object obj = null;

            while ((obj = inputStream.readObject()) != null) {

                if (obj instanceof Vector) {

                    System.out.println("Объект от клиента "+((Vector)obj).toString());

                }
                }
             outputStream = new ObjectOutputStream(clientsocket.getOutputStream());
            outputStream.writeObject(vect);
            }

                if (msgFromclientsocket != null && msgFromclientsocket.equalsIgnoreCase("bye")) {
                    serversocket.close();
                    clientsocket.close();
                    break;
                }

            } catch (IOException ie) {
            }
        }
    }
}
06.02.2009


Клиент для работы с простейшим сервером, оперирующим с SortedMap
Клиент1 для работы с простейшим сервером приложений, оперирующим с SortedMap
Rambler's Top100


Ассоциативные ссылки