网络通信概述
Posted 旧时星空
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络通信概述相关的知识,希望对你有一定的参考价值。
网络通信概述
-
互联网中主机和主机连接必须通过特定的要求,这个要求称为协议。
-
TCP/IP协议:
-
应用层(OSI的会话层,表示层,应用层)
- 常用协议:HTTP,FTP,SMTP,POP3,SSL,RPC
-
传输层
- OSI第四层
- 常用协议:TCP,UDP
-
网络层
- OSI中第三层
- 常用协议:IP,IPV4,IPV6
-
网络接口层
- OSI第一二层
-
IP网络协议,hulianwangs-任何操作系统只要遵守IP协议就可以与互联网互通,给互联网上的每台计算机分配地址。
TCP/UDP(传输控制协议):
-
面向连接的,可靠的,基于字节流的协议。
-
TCP协议每次连接/关闭都需要确认,也就是经典的三次握手,四次挥手
-
术语:SYN同步标识
FIN结束标识
ACK确认标识
PSH有DATA传输
RST连接重置
SEQ数据包
UDP:是一种无连接协议,基于UDP协议主机把数据包发送给网络后就不管了,不可靠。
Socket
在标准库的net包中提供了可移植的网络I/O接口,其中就包括了Socket,是实现网络双向通讯的一套API。
Socket分类
按时间:短连接,长连接
按客户端与服务器的数量:点对点,点对多,多对多。
网络通信的内容都是包含客户端和服务端,服务端运行在服务器中,而客户端运行在客户端中,可以是浏览器,可以是桌面程序,可以是APP等。
Go语言对Socket的支持
TCPAddr结构体表示服务器IP和端口
- IP是 type IP [ ] byte
- Port是服务器监听的接口
//TCPaddr reperents the address of a TCP end point
type TCPaddr struct{
IP IP
Port int
Zone string//IPv6 scoped addressing zone
}
TCPConn结构体表示连接,封装了数据读写操作
type TCOConn struct{
conn
}
TCPListener负责监听服务器特定端口
type TCPListener struct{
fd *netFD
}
以上是关于网络通信概述的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段14——Vue的axios网络请求封装
VSCode自定义代码片段14——Vue的axios网络请求封装