2020-03-21 TCP/UDP协议(微专业)
一、tcp协议
如果在面试的过程中,要讲这个,可以拿打电话这个场景来说明。
二、UDP协议
用处:视频、直播、日志上报、
三、TCP/UDP的比较
四、Socket
五、http协议
1、客户端:
2、服务端
3、状态码
4、编写一个可以接受http请求的服务器
public class BIOServer2 { public static void main(String[] args) throws Exception { ExecutorService executors=Executors.newCachedThreadPool(); ServerSocket ss=new ServerSocket(8080); System.out.println("服务器启动"); while(!ss.isClosed()){ Socket request = ss.accept(); executors.execute(()->{ try { InputStream inputStream = request.getInputStream(); System.out.println("收到请求:"); BufferedReader bd=new BufferedReader(new InputStreamReader(inputStream, Charset.forName("utf-8"))); String msg=null; while ((msg=bd.readLine())!=null){ if(msg.length()==0){ break; } System.out.println(msg); } //响应结果 OutputStream outputStream = request.getOutputStream(); outputStream.write("HTTP/1.1 200 OK\r\n".getBytes()); outputStream.write("Content-Length: 11\r\n\r\n".getBytes()); outputStream.write("Hello World".getBytes()); outputStream.flush(); } catch (Exception e) { e.printStackTrace(); } }); } } }
六、BIO
1、阻塞、非阻塞跟同步、异步是不用概念的,程序可以做成同步阻塞、异步阻塞、同步非阻塞、异步非阻塞。
七、NIO(new IO,非阻塞IO)
1、缓存区
2、channel 通道
3、selector