python做网站有优势,wordpress商品,网站设计平台 动易,科技特长生有哪些科目文章目录 网络通信编程基本常识Java原生网络编程-BIO 网络通信编程基本常识
什么是Socket#xff1f; Socket是应用层与TCP/IP协议族通信的中间软件抽象层#xff0c;它是一组接口#xff0c;一般由操作系统提供。 在设计模式中#xff0c;Socket其实就是一个门面模式 Socket是应用层与TCP/IP协议族通信的中间软件抽象层它是一组接口一般由操作系统提供。 在设计模式中Socket其实就是一个门面模式它把复杂的TCP/IP协议处理和通信缓存管理等等都隐 藏在Socket接口后面对用户来说使用一组简单的接口就能进行网络应用编程让Socket去组织数 据以符合指定的协议。主机 A 的应用程序要能和主机 B 的应用程序通信必须通 过 Socket 建立连接。 客户端连接上一个服务端就会在客户端中产生一个socket接口实例服务端每接受一个客户端连 接就会产生一个socket接口实例和客户端的socket进行通信有多个客户端连接自然就有多个 socket接口实例。
短连接 连接-传输数据-关闭连接 传统HTTP是无状态的浏览器和服务器每进行一次HTTP操作就 建立一次连接但任务结束就中断连接。 也可以这样说短连接是指SOCKET连接后发送后接收 完数据后马上断开连接。 长连接 连接-传输数据-保持连接 - 传输数据- 。。。 -关闭连接。 长连接指建立SOCKET 连接后不管是否使用都保持连接。 什么时候用长连接短连接 长连接多用于操作频繁点对点的通讯。每个TCP连接都需要三步握手这需要时间如 果每个操作都是先连接再操作的话那么处理速度会降低很多所以每个操作完后都不断开下次处 理时直接发送数据包就OK了不用建立TCP连接。例如数据库的连接用长连接 如果用短连接频繁 的通信会造成socket错误而且频繁的socket 创建也是对资源的浪费。 而像WEB网站的http服务按照Http协议规范早期一般都用短链接因为长连接对于服务端来说会 耗费一定的资源而像WEB网站这么频繁的成千上万甚至上亿客户端的连接用短连接会更省一些资源。 但是现在的Http协议Http1.1尤其是Http2、Http3已经开始向长连接演化。
总之长连接和短连接的选择要视情况而定。 网络编程里通用常识 我们首先来看一个生活中的场景。周瑜老师准备开一个心理咨询中心嘴上光喊没用只有到工商 局注册“东吴心理诊所”并且在图灵大街888号挂牌了才算正式开张。疫情来了准备开展电话业 务申请了一个电话号码88888888。诸葛老师有了心理问题于是打电话过来周瑜老师接了电话 但是周瑜老师不懂心理咨询于是通过内部分机把电话转给请来的心理医生A负责接待诸葛老师心理 医生A和诸葛老师通过电话进行沟通模式一般就是一个人说另个一人听两者进行沟通交流。Fox老 师也来了周瑜老师接了电话又把电话转给请来的心理医生B负责接待Fox老师心理医生B和Fox老 师也通过电话进行沟通。
Java原生网络编程-BIO
原生JDK网络编程BIO BIO意为Blocking I/O即阻塞的I/O。 BIO基本上就是我们上面所说的生活场景的朴素实现。在BIO中类ServerSocket负责绑定IP地址启 动监听端口等待客户连接客户端Socket类的实例发起连接操作ServerSocket接受连接后产生一 个新的服务端socket实例负责和客户端socket实例通过输入和输出流进行通信。