📄 clientsideconnection.java
字号:
/**
*
*/
package jsunit.java.source_core.net.jsunit;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
public class ClientSideConnection extends Thread {
private MessageReceiver receiver;
private final int port;
private ServerSocket serverSocket;
private Socket socket;
private BufferedReader reader;
private PrintWriter writer;
private boolean running;
public ClientSideConnection(MessageReceiver receiver, int port) {
this.port = port;
this.receiver = receiver;
}
public void run() {
try {
serverSocket = new ServerSocket(port);
socket = serverSocket.accept();
reader = new BufferedReader(new InputStreamReader(socket.getInputStream(), "UTF-8"));
writer = new PrintWriter(new OutputStreamWriter(socket.getOutputStream(), "UTF-8"));
String message;
running = true;
while (running && reader != null && (message = reader.readLine()) != null)
receiver.messageReceived(message);
} catch (Exception e) {
throw new RuntimeException(e);
}
shutdown();
}
public boolean isRunning() {
return running;
}
public void shutdown() {
try {
if (serverSocket != null)
serverSocket.close();
} catch (IOException e) {
}
running = false;
}
public void sendMessage(String message) {
writer.println(message);
writer.flush();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -