最后更新:2022-07-31 15:43:23 手机定位技术交流文章
Socket,一个插座是两个主机之间的逻辑连接点。TCP/IP协议是层级协议,问题主要在于如何在网络中传输数据,HTTP是一个应用层协议,主要问题是数据如何包装。插座是通信的基础.它是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中的终端的抽象表现,它包含了网络通信所需的五个信息:连接使用的协议、本地主机的IP地址、本地进程的协议端口、远程主机的IP地址和远程进程的协议端口。
接口编程主要涉及客户和服务的最终方面,首先是在服务器端创建一个服务器套接字(ServerSocket),并把它连接到一个港口,服务器从这个端口监视连接。端口数从0到65536之间,但0到1024是特权服务所保留的端口号码,您可以选择目前没有被其他进程使用的任何终端。
客户端请求与服务器进行连接的时候,根据服务器的域名或者IP地址,加上端口号,打开一个套接字。当服务器接受连接后,服务器和客户端之间的通信就像输入输出流一样进行操作。

服务端代码
客户端代码
阻塞与非阻塞
主要指一种处理线程访问IO块(或等待)线程访问资源的方法,该资源是否准备运行

同步和异步
请求数据的主要方式
同步和非同步是访问数据的机制

Java BIO是一个传统的插座编程.
BIO(blocking I/O) :同步封锁,服务器实现模式是一个连接到一个线程,即服务器端需要启动一个线程来处理当客户端有一个连接请求,如果连接没有造成不必要的线程费用,它可以通过线程池机制(实现多个客户端连接服务器)来改进。
工作机制


BIO问题分析
同步非阻塞,服务器实现模式为一个线程处理多个请求(连接),即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有 I/O 请求就进行处理


AIO引入了非同步通道的概念,采用了Proactor模式,简化了程序编写,并要求一个有效的请求启动线程,其特征是通知终端程序在操作系统完成之前启动线程,一般适用于更多的连接和较长的连接时间
Proactor模式是消息不准确通知的设计模式,而Proactor通知不是预备事件,而是操作完成事件,是操作系统不准确IO的主要模式。

本文由 在线网速测试 整理编辑,转载请注明出处。