计算机网络
文章平均质量分 59
TheIgnoranceMan
这个作者很懒,什么都没留下…
展开
-
golang实现网络文件传输
获取文件属性和命令行参数 首先获取文件名。借助os包中的stat()函数来获取文件属性信息。在函数返回的文件属性中包含文件名和文件大小。Stat参数name传入的是文件访问的绝对路径。FileInfo中的Name()函数可以将不含路径的文件名单独提取出来。 func Stat(name string) (FileInfo, error) type FileInfo interface { Name() string Size() int64 Mode() F原创 2021-08-30 03:36:15 · 706 阅读 · 0 评论 -
UDP 通信
UDP 与 TCP 的差异 TCP UDP 面向连接 面向无连接 要求系统资源较多 要求系统资源较少 TCP 程序结构较复杂 UDP 程序结构较简单 使用流式 使用数据报式 保证数据准确性 不保证数据准确性 保证数据顺序 不保证数据顺序 通讯速度较慢 通讯速度较快 UDP 服务器 由于 UDP 是“无连接”的,所以,服务器端不需要额外创建监听套接字,只需要指定好 IP 和 port,然后监听 该地址,等待客户端与之建立连接,即可通信。 //创建监听地址: func原创 2021-08-30 02:58:53 · 262 阅读 · 0 评论 -
socket
定义 socket:插座插口的意思,理解为套接字,用于描述IP地址和端口。可以实现不同应用间的通讯。 起源于UNIX,以一切都是文件的思想设计的,socket就是此模式下的一个实现。 网络的 Socket 数据传输是一种特殊的 I/O,Socket 也是一种文件描述符。 Socket 也具有一个类似于打开文件的函数调用:Socket(),该函数返回一个整型的 Socket 描述符, 随后的连接建立、数据传输等操作都是通过该 Socket 实现的 原理 发送端========>接收端 sfd 接原创 2021-08-30 00:16:34 · 141 阅读 · 0 评论 -
TCP协议
简单CS通讯框架 server-net.listen() server-accept()<==阻塞等待用户链接=client-net.dial() server-read()<=数据请求client-write() server-write()===数据回答=>client-read() close() close() Server 端 //Listen 函数: func Listen(network, address string) (Listener, error) /原创 2021-08-30 00:16:23 · 183 阅读 · 0 评论 -
计算机网络笔记
网络概述 协议 从应用的角度出发,协议可理解为“规则”,是数据传输和数据的解释的规则。假设,A、B双方欲传输文件。规定: 第一次,传输文件名,接收方接收到文件名,应答OK给传输方; 第二次,发送文件的尺寸,接收方接收到该数据再次应答一个OK; 第三次,传输文件内容。同样,接收方接收数据完成后应答OK表示文件内容接收成功。 由此,无论A、B之间传递何种文件,都是通过三次数据传输来完成。A、B之间形成了一个最简单的数据传输规则。双方都按此规则发送、接收数据。A、B之间达成的这个相互遵守的规则即为协议。 这种原创 2021-08-30 00:16:05 · 67 阅读 · 0 评论