1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java找不到符号类socket 编译报错+解决方法:错误: 找不到符号

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

时间:2020-06-16 15:51:31

相关推荐

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 ;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。