step 3 socket
socket
网络通讯三要素
- IP地址(主机名)
网络中设备的标示
不易记忆,可以用主机名
本地回环地址:127.0.0.1 主机名:localhost
每台计算机都有一个 127.0.0.1
如果 127.0.0.1 ping 不同,说明网卡不工作
如果本机地址 ping 不同,说明网线坏了
- 端口号
用于标示进程的逻辑地址,不同进程的标示
有效端口:0~65535
其中 0~1024由系统使用或者保留端口
开发中不要使用 1024 以下的端口
- 传输协议
TCP(传输控制协议)
UDP(数据报文协议)
通过 IP 找机器,通过 端口 找程序,通过 协议 确定如何传输数据
常见网络协议
协议 |
端口 |
说明 |
HTTP |
80 |
超文本传输协议 |
HTTPS |
443 |
HTTP+SSL,HTTP的安全版 |
FTP |
20/21/990 |
文件传输协议 |
POP |
110 |
邮局协议 |
SMTP |
25 |
简单邮件传输协议 |
telnet |
23 |
远程终端协议 |
SSH |
22 |
Secure Shell |
TCP & UDP
- UDP(用户数据报协议)
只管发送,不确认对方是否接收到
将数据及源和目的封装成数据包中,不需要建立连接
每个数据报的大小限制在64K之内
因为无需连接,因此是不可靠协议
不需要建立连接,速度快
应用场景:多媒体教室/网络流媒体
- TCP(传输控制协议)
建立连接,形成传输数据的通道
在连接中进行大数据传输(数据大小不收限制)
通过三次握手完成连接,是可靠协议,安全送达
必须建立连接,效率会稍低
Socket(套接字层、插座)
1 Socket就是为网络服务提供的一种机制
2 通信的两端都是 Socket
3 网络通信其实就是 Socket 间的通信
4 数据在两个 Socket 间通过 IO 传输
Socket 是纯C语言的,是跨平台的