一、什么是socket
socket又叫套接字,指的是实现通信的两个端。
套接字分为服务器套接字和客户端套接字两种。 服务器套接字会绑定一个固定的ip然后等待客户端来连接它,正常情况下一个服务器是可以同时和多个客户端保持连接的;客户端套接字不需要绑定IP,在需要的时候主动连接服务器套接字。
二、socket编程
用代码实现能够通信的服务器和客服端。
python中提供了一个模块叫socket专门用来支持socket编程的
三、服务器套接字
注意: 先导入 from socket import socket
-
创建套接字对象
socket(family, type) - 创建套接字对象
family - ip地址类型:AF_INET(ipv4)、AF_INET6(ipv6)
type - 传输协议类型: SOCK_STREAM(TCP)、SOCK_DGRAM(UDP)
-
绑定IP和端口
套接字对象.bind((ip地址,端口号))
ip地址 - 字符串,运行当前服务器程序的计算机的ip地址
端口号 - 整数, 范围是0~65535,其中0~1024是著名端口(同一时间同一台计算机不能同时使用相同的端口)。端口就是用来区分同一台计算机上不同服务(程序)
-
监听请求
套接字对象.listen(最大通信的数量)
套接字对象.listen(200)
-
等待客户端的连接
-
接受客户端的请求
connect, address = server.accept()
注意: 两个返回值,