马士兵教育周老师透彻的讲 Socket最简单的示例解析(接受数据,直到有一个回车,客户端就断开了)------目标netty—step0
马士兵教育周老师透彻的讲 Socket示例解析------目标netty—step1
马士兵教育周老师透彻的讲 nio----目标netty—step2
马士兵教育周老师透彻的讲 select多路复用器(单线程)----目标netty—step3
马士兵教育周老师透彻的讲 select多路复用器(多线程 1 boss 2 worker )----目标netty—step4
马士兵教育周老师略讲 netty hellowrold ----目标netty—step5
马士兵教育周老师 epoll内核原理讲解 ----目标netty—step6
step0 step1 --> socket
step2 ----------> nio
setp3 step4 --> select多路复用器
step5 ----------> netty
step6 ----------> epoll原理
看懂此块内容来自周老师的视频,具体视频地址找不到了,毕竟是白嫖周老师的视频,没有买会员
这块也不用视频, 记住两个 阻塞就可以了
serverSocket.accept(); // 此处阻塞, 直到有客户端连接
bufferedReader.readLine(); //此处阻塞 ,直到客户端输入****回车
另外要学习调试
- windows 版本的调试 使用 网络调试助手 软件
- linux 版本 nc 命令调试
package com.tiza.leo.BIO;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
/**
* Author: tz_wl
* Date: 2020/9/7 9:32
* Content:
*/
public class bioserver01 {
public static void main(String[] args) throws IOException {
int port=8011;
ServerSocket serverSocket = new ServerSocket(port);
System.out.println(" 系统停留在accept阻塞,直到有客户端连接过来!"+ " port is "+ port);
Socket clientSocket = serverSocket.accept(); // 此处阻塞, 直到有客户端连接
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
System.out.println("系统停留在此处,直到有客户端数据过来");
System.out.println(bufferedReader.readLine()); //此处阻塞 ,直到客户端输入****回车
System.out.println("一次性打印输入结果 ");
}
}