建立socket客户端和服务器端
基于python建立socket客户端和服务器端
建立socket的大概步骤,分为客户端和服务器端,可使用SSL协议加密。分为客户端和服务器端两边说明。也可加入多线程进行编程。使用到python的socket和ssl库。
一.客户端socket
-
实例化socket
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM);#TCP
client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM);#UDP
-
实例化SSLsocket
SSLsocket = ssl.wrap_socket (sock[, **opts]) #opts表示用于指定其他配置数据的密钥参数的数量。
-
使用SSLsocket进行连接
SSLsocket.connect(host,port)
-
与服务器端传输和接收数据 ;
SSLsocket.send() SSLsocket.recv()
-
关闭socket ;
SSLsocket.close()
二.服务端socket
-
实例化socket
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM);#TCP client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM);#UDP
-
服务器绑定自己的IP和端口
socket.bind(host,port)
-
服务器确定自己排队数量限制
socket.listen(n)
-
实例化SSLsocket
SSLsocket = ssl.wrap_socket (sock[, **opts]) #opts表示用于指定其他配置数据的密钥参数的数量。
-
与服务器端传输和接收数据 ;
SSLsocket.send() SSLsocket.recv()
-
关闭socket ;
SSLsocket.close()
三.服务端socket(多线程)
使用多线程,更好处理资源,防止了死循环。
- 定义类
1️⃣初始化对象
①SSLcontect指定ssl版本
②加载信任根证书
③实例化socket
④解决程序端口处理问题
⑤绑定服务器IP和端口
⑥使用listen(n)控制排队数
2️⃣连接
①连接
②实例化threading且运行
3️⃣业务处理
4️⃣断开socket - 定义函数创建web服务器且运用类