我们的服务端处理客户端的连接请求是同步进行的, 每次接收到来自客户端的连接请求后,
都要先跟当前的客户端通信完之后才能再处理下一个连接请求。 这在并发比较多的情况下会严重影响程序的性能,
为此,我们可以把它改为如下这种异步处理与客户端通信的方式
.子程序 _服务器1_数据到达
编辑框2.内容 = 编辑框2.内容 + 服务器1.取回客户 () + “ : ” + 到文本 (服务器1.取回数据 ()) + #换行符
.子程序 _服务器1_客户进入
编辑框2.内容 = 编辑框2.内容 + 服务器1.取回客户 () + “进入了……” + #换行符
.子程序 _服务器1_客户离开
编辑框2.内容 = 编辑框2.内容 + 服务器1.取回客户 () + “离开了……” + #换行符import java.io.IOException;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Scanner;
public class Test {
static Socket socket;
public static void main(String[] args) {
try {
socket = new Socket("192.168.43.44", 19720);
} catch (Exception e) {
e.printStackTrace();
}
Scanner scanner = new Scanner(System.in);
String now = "";
do {
now = scanner.next();
codeString(now);
} while (!now.equals("exit"));
}
public static void codeString(String code) {
PrintWriter pWriter;
try {
pWriter = new PrintWriter(socket.getOutputStream());
pWriter.println(code);
pWriter.flush();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}