{tabs-pane label="服务端"}
代码语言:javascript复制public class Demo804_1 {
public static void main(String[] args)throws IOException {
ServerSocket ss=new ServerSocket(520);//监听一个端口号
System.out.println("监听服务开启");
for (;;){
Socket socket=ss.accept();//表示新用户来了就创建一个实例
System.out.println("开启:" socket.getRemoteSocketAddress());
Thread t=new hand(socket);
t.start();
}
}
}
class hand extends Thread{
Socket sock;
public hand(Socket socket){
this.sock=socket;
}
@Override
public void run() {
try(InputStream input=this.sock.getInputStream()){
try(OutputStream outputStream=this.sock.getOutputStream()){
handle(input,outputStream);
}
}catch (Exception e){
try {
this.sock.close();
}catch (IOException ioe){
System.out.println(ioe);
}
System.out.println("有问题了");
}
}
private void handle(InputStream input,OutputStream out)throws IOException{
var Writer = new BufferedWriter(new OutputStreamWriter(out, StandardCharsets.UTF_8));
var reader = new BufferedReader(new InputStreamReader(input,StandardCharsets.UTF_8));
Writer.write("打开n");
Writer.flush();
for (;;){
String s = reader.readLine();
if (s.equals("y")){
Writer.write("yn");
Writer.flush();
break;
}
Writer.write("游客:" s "n");
Writer.flush();
}
}
}
{/tabs-pane} {tabs-pane label="客服端"}
代码语言:javascript复制public class clinent {
public static void main(String[] args)throws IOException {
Socket sock=new Socket("localhost",520);
try(InputStream input=sock.getInputStream()){
try(OutputStream out=sock.getOutputStream()){
handle(input,out);
}
}
}
private static void handle(InputStream inp,OutputStream out)throws IOException{
var Writer = new BufferedWriter(new OutputStreamWriter(out, StandardCharsets.UTF_8));
var reader = new BufferedReader(new InputStreamReader(inp, StandardCharsets.UTF_8));
Scanner s=new Scanner(System.in);
System.out.println("开始监听:");
for (;;){
System.out.println("》》》");
String s1 = s.nextLine();
Writer.write(s1);
Writer.newLine();
Writer.flush();
String s2 = reader.readLine();
System.out.println("《《《" s2);
if (s2.equals("y")){
break;
}
}
}
}
{/tabs-pane}
本文共 136 个字数,平均阅读时长 ≈ 1分钟