摘要: 套接字底层原理 TCP套接字 TPC的服务端要先监听一个端口,一般是先调用bind函数,给这个Soket赋予一个IP地址和端口。 当服务端有了IP和端口号,就可以调用listen函数进行监听。这时候客户端就可以发起连接了。 在操作系统中,为每个Socket维护两个队列。一个是已经建立了连接的队列,三 阅读全文
posted @ 2020-08-20 22:19 _大可乐 阅读(119) 评论(0) 推荐(0) 编辑
摘要: TCP简介与报文格式 TCP简介 TCP协议(传输控制协议)提供的是面向连接的可靠性传输,为了实现可靠性,TCP协议需要考虑很多事情,比如数据的破坏、丢包、重复以及分片顺序混乱等问题。TCP通过检验和、序列号、确认应答、重发控制、连接管理以及窗口控制等机制实现可靠性传输。 TCP报文头部格式 源端口 阅读全文
posted @ 2020-08-06 23:43 _大可乐 阅读(265) 评论(0) 推荐(0) 编辑
摘要: UDP,中文名是,用户数据报协议。 UDP提供面向无连接的通信服务,是不具有可靠性的数据报协议。 UDP可以确保发送消息的大小,但不能保证消息一定会到达,传输途中可能出现丢包,UDP不负责重发。当包的到达舒徐错乱时,UDP也没有纠正功能。 UDP报文头部由源端口号、目标端口号、包长和校验和组成: 源 阅读全文
posted @ 2020-08-06 21:48 _大可乐 阅读(505) 评论(0) 推荐(0) 编辑
摘要: 静态路由与动态路由 静态路由是由事先设置好路由器和主机并将路由信息固定的一种方法。而动态路由是指让路由协议在运行过程中自动设置路由控制信息的一种方法。 动态路由相关算法 距离向量算法 基于弗洛伊德算法,是一种根据距离和方向决定目标网络或目标主机位置的算法。这种算法的基本思路是,每个路由器都保存一个路 阅读全文
posted @ 2020-08-04 22:00 _大可乐 阅读(438) 评论(0) 推荐(0) 编辑
摘要: 宽带上网是如何实现的 网络层是TCP/IP的心脏,主要负责终端节点之间的通信,把网络报从源主机发送到目标主机,所以这种通信也叫点对点的通信。 网络层的作用 数据链路层只能在同一数据链路上的节点通信,一旦跨越多个数据链路,就要借助网络层,才能通信。网络层可以跨越不同的数据链路,实现两个节点之间的通信。 阅读全文
posted @ 2020-08-04 00:16 _大可乐 阅读(823) 评论(0) 推荐(0) 编辑
摘要: 系统自带脚手架 数据库迁移 新安装的laravel应用中都会包含下面两个迁移文件,分别用于创建用户表和密码重置表,这两张表在用户认证和找回密码中会用到: User模型 laravel框架还在app目录下为我们提供了与用户表相对相应的User模型,在基于Eloquent模型驱动的认证提供者中,我们通过 阅读全文
posted @ 2020-08-01 09:41 _大可乐 阅读(543) 评论(0) 推荐(0) 编辑
摘要: 客户端发起请求 从客户端发起请求的时候,网络数据流是从上而下的: 访问网站,浏览器地址栏输入网址,这只是网站域名,浏览器并不知道要去哪里访问资源,这个时候用到DNS协议对域名进行解析,在域名注册商那里绑定了域名对应的IP地址,IP地址就相当于互联网世界的门牌号。 知道了目标IP后,浏览器打包本次请求 阅读全文
posted @ 2020-07-30 21:56 _大可乐 阅读(521) 评论(0) 推荐(0) 编辑
摘要: 一对一 建立关联关系 通过hasOne方法定义一对一关联 public function profile() { return $this->hasOne(UserProfile::class); } Eloquent 底层约定 hasOne方法参数 public function hasOne($ 阅读全文
posted @ 2020-07-28 23:55 _大可乐 阅读(547) 评论(0) 推荐(0) 编辑
摘要: php 压缩文件夹 例子来源于php官方文档。 <?php { /** * Add files and sub-directories in a folder to zip file. * @param string $folder * @param ZipArchive $zipFile * @p 阅读全文
posted @ 2020-07-28 15:43 _大可乐 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 全局作用域 是指在模型类中预设过滤器,在模型类的所有查询中都生效。 通过全局作用域类实现 编写一个实现Illuminate\Database\Eloquent\Scope 接口的全局作用域类,这里我们将其命名为 EmailVerifiedAtScope,并将其放到 app/Scopes 目录下: < 阅读全文
posted @ 2020-07-27 23:24 _大可乐 阅读(157) 评论(0) 推荐(0) 编辑