java找不到符号类socket,编译报错+解决方法:错误: 找不到符号

public class ServerPlainTest { // 包内包外可见

public static void main(String[] args) {

try {

ServerSocket ss = new ServerSocket(8189);

System.out.println("the server has startuped, waiting for connections.");

while (true) { // accept multiple clients connection request.

Socket s = ss.accept();

System.out.println("a client has connected successfully.");

new Thread(new ReceiveHandler(s, Role.SERVER)).start();

new Thread(new SendHandler(s, Role.SERVER)).start();

}

} catch (Exception e) {

System.out.println(e);

}

}

}

public class MessageHandler { // 包内包外可见.

}

// receive msg.

class ReceiveHandler implements Runnable { // 包内可见性.

private Socket socket;

private Role role;

public ReceiveHandler(Socket socket, Role role) {

this.socket = socket;

this.role = role;

}

public void run() {

try {

System.out.println(role + " executes ReceiveHandler.run method.");

InputStream is = socket.getInputStream();

Scanner in = new Scanner(is);

// echo client input

boolean done = false;

while (!done && in.hasNextLine()) {

String line = in.nextLine();

System.out.println("from "+ role + ": " + line);

if (line.trim().equalsIgnoreCase("bye")) {

done = true;

}

}

// close relative instance.

in.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

// send msg.

class SendHandler implements Runnable { // 包内可见性.

private Socket socket;

private Role role;

public SendHandler(Socket socket, Role role) {

this.socket = socket;

this.role = role;

}

public void run() {

PrintWriter pw = null;

try {

System.out.println(role + " executes SendHandler.run method.");

Scanner s = new Scanner(System.in);

OutputStream os = socket.getOutputStream();

pw = new PrintWriter(os, true); // autoFlush=true.

if (role.equals(Role.SERVER)) {

pw.println("from server: you've connected with the server.");

}

while (s.hasNext()) {

String line = s.nextLine();

pw.println(line);

}

pw.println("connection closed successfully. bye!");

} catch (Exception e) {

e.printStackTrace();

}

}

}

【2】solution:在编译 ServerPlainTest.java 之前,编译 MessageHandler.java, 这样会附带编译 ReceiverHandler.java and SendHandler.java ;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值