Professional Documents
Culture Documents
java
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
SimpleClient client;
public ClientGui() {
super("Client");
setDefaultCloseOperation(EXIT_ON_CLOSE);
init();
pack();
setLocationRelativeTo(null);
setVisible(true);
client.sendMess("hello");
text.setEditable(false);
add(scrollPane);
inputField.addKeyListener(new KeyListener() {
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
client.sendMess(inputField.getText());
inputField.setText("");
});
add(inputField, BorderLayout.SOUTH);
new ClientGui();
text.append(mess + "\n");
text.setCaretPosition(text.getText().length());
//MultiServer.java
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
gui = g;
try {
} catch (IOException e) {
System.exit(-1);
while (true) {
try {
clientList.add(Client);
counter++;
gui.updateList(clientList);
} catch (Exception e) {
e.printStackTrace();
break;
serverSocket.close();
clientList.remove(sclient);
gui.updateList(clientList);
}
// client.messagetoClient(message);
//ClienServerThread.java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
MultiServer servar) {
gui = g;
this.socket = socket;
this.nr = nr;
this.server = servar;
start();
@Override
try {
.getInputStream()));
String inputLine;
while (true) {
try {
inputLine = in.readLine();
server.messageFromClient(this, inputLine);
if (inputLine.compareToIgnoreCase("bye") == 0) {
break;
} catch (Exception e) {
// System.out.println("client diconnected");
gui.writeMess("client diconnected");
// server.clientClose(this);
break;
}
out.close();
in.close();
socket.close();
server.clientClose(this);
} catch (IOException e) {
e.printStackTrace();
return nr;
this.nr = nr;
out.println(s);
}
//ServerGui.java
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.io.IOException;
import java.util.ArrayList;
import javax.swing.JFrame;
import javax.swing.JList;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public ServerGui() {
super("Server");
setDefaultCloseOperation(EXIT_ON_CLOSE);
init();
pack();
setLocationRelativeTo(null);
setVisible(true);
try {
// new SimpleServer(this);
new MultiServer(this);
} catch (IOException e) {
// e.printStackTrace();
text.setEditable(false);
add(scrollPane);
lista=new JList();
add(lista,BorderLayout.WEST);
lista.setListData(clientList.toArray());
}
public void writeMess(String mess) {
text.append(mess + "\n");
text.setCaretPosition(text.getText().length());
new ServerGui();
//SimpleClient.java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
BufferedReader in = null;
private ClientGui gui;
public SimpleClient(ClientGui g) {
gui = g;
try {
.getInputStream()));
start();
} catch (UnknownHostException e) {
System.exit(1);
} catch (IOException e) {
System.exit(1);
}
//
// try {
//
// out.println(userInput);
//
// System.out.println(in.readLine());
//
// if (userInput.compareToIgnoreCase("bye") == 0) {
//
// break;
//
// }
//
// } catch (Exception e) {
//
//
// break;
//
// }
//
// }
try {
out.close();
in.close();
echoSocket.close();
} catch (IOException e) {
// TODO
e.printStackTrace();
out.println(mess);
@Override
try {
while (true) {
// TODO
gui.addBoardMess(inline);
try {
Thread.sleep(200);
} catch (InterruptedException e) {
// e.printStackTrace();
} catch (IOException e) {
// e.printStackTrace();
gui.addBoardMess("connection closed");