А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Э Ю Я Все примеры | Примеры по пакетам |
|
Сервер помещающий данные в карту 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) {
}
}
}
}
Клиент для работы с простейшим сервером, оперирующим с SortedMap Клиент1 для работы с простейшим сервером приложений, оперирующим с SortedMap |
|
|
|
|