Socket

网络模型

OSI参考模型  ------  开放系统互联参考模型

目的: 实现全球电脑互联

OSI参考模型,共7层  --------- 物理层.数据链路层,网络层,传输层,会话层,表示层,应用层

物理层 : 转成0101的二进制通过物理层电流

数据链路层 : 网卡 . 交换器

网络层 : 所谓的路由器 ip

传输层 : 最核心的就是协议 -- TCP & UDP

会话层 : Socket

表示层 : 对数据的解析发给应用层去展示

应用层 : 展示 . 网络服务与最终用户的一个接口, 协议 :

TCP:TransmissionControl Protocol 传输控制协议TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议,由IETF的RFC 793说明(specified)。

UDP 是User DatagramProtocol的简称, 中文名是用户数据包协议,是OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。


面向连接:是指通信双方在通信时,要事先建立一条通信线路,其有三个过程:建立连接、使用连接和释放连接。电话系统是一个面向连接的模式,拨号、通话、挂机;TCP协议就是一种面向连接的协议。

面向无连接:是指通信双方不需要事先建立一条通信线路,而是把每个带有目的地址的包(报文分组)送到线路上,由系统自主选定路线进行传输。邮政系统是一个无连接的模式,天罗地网式的选择路线,天女散花式的传播形式;IP、UDP协议就是一种无连接协议。

TCP/IP参考模型 (4层   网络层 和数据链路层 是一层,统一叫网络层)

应用层  ->       传输层       ->       网络层                 ->  数据链路层                   ->    物理层

   HI      ->   TCP/UDP HI  ->     ip  TCP/UDP HI    ->  Mac  ip  TCP/UDP HI   ->    发送出去

 一层一层反过来解析展示出HI

网络模型

Socket 属于会话层.

OSI 与 TCP/IP 参考模型 都属于一种标准. 为的就是全球网络统一.

网络通讯

核心: IP地址 / 端口号

IP地址

标识网络中的设备(局域网,互联网都有IP地址)

标识本机的IP地址   主机名

端口号

用于标识进程

有效端口号0 -65535

其中0 - 1024 由系统使用或保留

传输协议

面向连接的TCP

建立连接,形成数据传输的通道

在连接中进行大数据传输(数据大小不限)

通过三次握手完成连接, 是可靠协议, 安全送达

必须建立连接,效率会稍低

类似于打电话

在数据传输过程中不限制文件大小

建立连接的主要目的是确保对方在线, 文件不会丢.

三次握手

第一步: 建立连接发送一个包到服务器,等待确认

第二步 :

第三步:

面向非连接的UDP

将数据源和目的封装在数据包中,不需要建立连接

每个数据包的大小限制在64k之内

因为不需要连接,因此是不可靠的协议

不需要建立连接, 效率高

类似于过年发短信(有可能丢失)

                                 TCP                     UDP 的区别

是否连接                    用                          无

传输可靠性               可靠                     不可靠

应用场合            传输大量数据           传输少量

速度                           慢                           快

四、Socket

            HTTP请求

客        ------->          服

           <-------

户        -------->         务

          ---->消息

端      <----数据        器

三次握手之后形成一个通道, 第四步 --->发送请求

第五步: <---返回数据 然后通道消失

QQ主要用UDP,一些使用TCP写的.

环信用XMPP写的.XMPP用Socket

Socket 简称"套接字",是一种双向的网络通信方式,通过IP地址和端口进行通讯连接,类似打电话方式(三次握手)

通信两端都是Socket

数据在两个Socket之间传输

HTTP请求也有Socket

1. 通过IP + 端口号 再 进行三次握手 TCP 建立长连接

2. 三次握手建立连接,形成两个通道

3. 输入流和输出流 统称I/O流 (输入是用来读数据的 输出是用来写数据的)

4. 一旦建立连接,服务器和客户端就会一直观察输入流,看有没有数据

(用CFRunLoop 实时监听) 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
内容介绍 项目结构: Controller层:使用Spring MVC来处理用户请求,负责将请求分发到相应的业务逻辑层,并将数据传递给视图层进行展示。Controller层通常包含控制器类,这些类通过注解如@Controller、@RequestMapping等标记,负责处理HTTP请求并返回响应。 Service层:Spring的核心部分,用于处理业务逻辑。Service层通过接口和实现类的方式,将业务逻辑与具体的实现细节分离。常见的注解有@Service和@Transactional,后者用于管理事务。 DAO层:使用MyBatis来实现数据持久化,DAO层与数据库直接交互,执行CRUD操作。MyBatis通过XML映射文件或注解的方式,将SQL语句与Java对象绑定,实现高效的数据访问。 Spring整合: Spring核心配置:包括Spring的IOC容器配置,管理Service和DAO层的Bean。配置文件通常包括applicationContext.xml或采用Java配置类。 事务管理:通过Spring的声明式事务管理,简化了事务的处理,确保数据一致性和完整性。 Spring MVC整合: 视图解析器:配置Spring MVC的视图解析器,将逻辑视图名解析为具体的JSP或其他类型的视图。 拦截器:通过配置Spring MVC的拦截器,处理请求的预处理和后处理,常用于权限验证、日志记录等功能。 MyBatis整合: 数据源配置:配置数据库连接池(如Druid或C3P0),确保应用可以高效地访问数据库。 SQL映射文件:使用MyBatis的XML文件或注解配置,将SQL语句与Java对象映射,支持复杂的查询、插入、更新和删除操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值