А Б В Г Д Е Ж З И К Л М Н О П Р С Т У Ф Х Ц Ч Ш Э Ю Я Все примеры | Примеры по пакетам |
|
Простейший сервер приложений// Простейший сервер приложений
// Сервер принимает от клиента вектор, модифицирует его и отправляет обратно.
import java.net.*;
import java.io.*;
import java.util.*;
public class simplestAppServer {
static Vector vector =new Vector();
static Vector vectortemp =new Vector();
static String str="";
static void modifyVector(Vector vect){
String temp="";
vector.clear();
for(int i=0;i< vect.size();i++){
temp=vect.get(i).toString()+" "+i;
vector.add(temp);
}
}
public static void main(String [] args) throws ClassNotFoundException {
ServerSocket server = null;
Socket client;
ObjectOutputStream outputStream = null;
ObjectInputStream inputStream = null;
int portnumber = 1213;
// Создание серверного сокета
try {
server = new ServerSocket(portnumber);
} catch (IOException ie) {
System.out.println("Cannot open socket." + ie);
System.exit(1);
}
System.out.println("ServerSocket is created " + server);
while(true) {
Vector vect =new Vector();
try {
//Прослушивание соединения и прием данных.
System.out.println("Waiting for connect request...");
client = server.accept();
System.out.println("Connect request is accepted...");
String clientHost = client.getInetAddress().getHostAddress();
int clientPort = client.getPort();
System.out.println("Client host = " + clientHost + " Client port = " + clientPort);
//Запись данных в поток вывода
outputStream = new ObjectOutputStream(client.getOutputStream());
outputStream.writeObject(vector);
//Чтение данных от клиента
InputStream clientIn = client.getInputStream();
System.out.println("Клиент " );
inputStream = new ObjectInputStream(client.getInputStream());
Object obj = null;
if((obj = inputStream.readObject()) != null) {
if (obj instanceof Vector) {
System.out.println("Получен ветор "+((Vector)obj));
//Чтение объекта из входного потока и перевод его в вектор
vectortemp=(Vector)obj;
//Обработка вектора
modifyVector(vectortemp);
}
}
inputStream.close();
outputStream.close();
} catch (IOException ie) {
}
}
}
}
//Клиент для работы с простейшим сервером приложений
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.AbstractButton;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
public class simplestAppClient {
static JButton jb=new JButton("Новый элемент");
//Вектор которым обмениваются клиент и сервер
static Vector vect1 =new Vector();
static JEditorPane je=new JEditorPane();
public static class MyActionListener implements ActionListener {
public void actionPerformed(ActionEvent evt) {
jb = (JButton)evt.getSource();
Socket client = null;
ObjectOutputStream outputStream = null;
ObjectInputStream inputStream = null;
int portnumber = 1213;
for (int i=0; i < 13; i++) {
try {
try {
// Создание клиентского сокета
client = new Socket(InetAddress.getLocalHost(), portnumber);
} catch (IOException ex) {
}
System.out.println("Клиентский сокет создан " + client);
// Создание выходного потока для клиентского сокета
OutputStream clientOut = client.getOutputStream();
//Создание входного потока для клиентского сокета
InputStream clientIn = client.getInputStream();
outputStream = new ObjectOutputStream(client.getOutputStream());
//Добавление нового объекта к массиву
if(!vect1.contains(je.getText())){
vect1.add(je.getText());
}
//Запись объекта на сервер
outputStream.writeObject(vect1);
System.out.println("!!!!!!client ");
//Чтение объекта от сервера
inputStream = new ObjectInputStream(client.getInputStream());
Object obj = null;
try {
if ((obj = inputStream.readObject()) != null) {
outputStream.close();
if (obj instanceof Vector) {
System.out.println("От сервера: " + ((Vector) obj));
}
}
} catch (ClassNotFoundException ex) {
}
client.close();
} catch (IOException ie) {
System.out.println("I/O error " + ie);
}
}
}
}
public static void main(String[] args) {
Box box = new Box(BoxLayout.X_AXIS);
jb.addActionListener(new MyActionListener());
JFrame jf=new JFrame();
jf.setVisible(true);
jf.setSize(533, 333);
box = Box.createHorizontalBox();
box.add(je);
box.add(jb);
jf.getContentPane().add(box);
jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);
}
}
|
|
|
|
|