所以我用Java创建了一个基本的客户端服务器程序。它的起始部分如下所示:
以下是我使用的代码:
- 客户端连接到服务器
- 服务器要求客户端输入名称
- 客户端回应名称
- 服务器向客户端问候
- 之后,客户端讲话,服务器会将其重复回来
以下是我使用的代码:
import java.net.*;
import java.io.*;
public class Server extends Thread {
private ServerSocket listener;
public Server(int port) throws IOException {
listener = new ServerSocket(port);
}
public void run() {
while(true) {
try {
Socket server = listener.accept();
DataOutputStream out = new DataOutputStream(server.getOutputStream());
out.writeUTF("What is your name?");
DataInputStream in = new DataInputStream(server.getInputStream());
String user_name = in.readUTF();
out.writeUTF("Hello "+user_name);
while(true) {
String client_message = in.readUTF();
out.writeUTF(client_message);
}
}
catch(IOException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
int port = 6006;
try {
Thread t = new Server(port);
t.start();
} catch(IOException e) {
e.printStackTrace();
}
}
}
能有人解释一下我在做什么错了吗?
我已经查看了使用Runnable而不是Extends Thread的方法,但我在那里遇到了更多问题,所以我想先尝试解决这个问题。