import [Link].
*;
import [Link].*;
public class Server {
public static void main(String[] args) {
try (ServerSocket serverSocket = new ServerSocket(1234)) {
[Link]("Server started. Waiting for client...");
Socket socket = [Link]();
[Link]("Client connected.");
BufferedReader reader = new BufferedReader(new
InputStreamReader([Link]()));
PrintWriter writer = new PrintWriter([Link](), true);
BufferedReader console = new BufferedReader(new
InputStreamReader([Link]));
String message;
while (true) {
message = [Link]();
if ([Link]("exit")) {
[Link]("Client has exited the chat.");
break;
}
[Link]("Client: " + message);
[Link]("Server: ");
message = [Link]();
[Link](message);
}
[Link]();
} catch (IOException e) {
[Link]();
}
}
}
import [Link].*;
import [Link].*;
import [Link].*;
import [Link].*;
import [Link].*;
public class Client {
private Socket socket;
private BufferedReader reader;
private PrintWriter writer;
private JFrame frame;
private JTextArea chatArea;
private JTextField inputField;
private JButton sendButton;
public Client(String serverAddress, int port) {
try {
socket = new Socket(serverAddress, port);
reader = new BufferedReader(new
InputStreamReader([Link]()));
writer = new PrintWriter([Link](), true);
createGUI();
listenForMessages();
} catch (IOException e) {
[Link]();
}
}
private void createGUI() {
frame = new JFrame("Chat Client");
chatArea = new JTextArea(20, 50);
inputField = new JTextField(40);
sendButton = new JButton("Send");
[Link](false);
JScrollPane scrollPane = new JScrollPane(chatArea);
JPanel panel = new JPanel();
[Link](inputField);
[Link](sendButton);
[Link]().add([Link], scrollPane);
[Link]().add([Link], panel);
[Link]();
[Link](JFrame.EXIT_ON_CLOSE);
[Link](true);
[Link](e -> sendMessage());
[Link](e -> sendMessage());
}
private void sendMessage() {
String message = [Link]();
if (![Link]()) {
[Link](message);
[Link]("Me: " + message + "\n");
[Link]("");
}
}
private void listenForMessages() {
Thread thread = new Thread(() -> {
String message;
try {
while ((message = [Link]()) != null) {
[Link]("Server: " + message + "\n");
}
} catch (IOException e) {
[Link]();
}
});
[Link]();
}
public static void main(String[] args) {
[Link](() -> new Client("localhost", 1234));
}
}
javac [Link]
javac [Link]
java Server
java Client