TCP服务器端编程一般步骤:
- 创建socket,用函数socket();
- 设置socket属性,用函数setsocket();
- 绑定IP地址、端口等信息到socket上,用函数bind();
- 开启监听,用函数listen();
- 接收从客户端来的网络连接,用函数accept();
- 收发数据,用函数send()和recv(),或者read()和write();
- 关闭网络连接;
- 关闭监听。
TCP客户器端编程一般步骤:
- 创建socket,用函数socket();
- 设置socket属性,用函数setsocket();
- 绑定IP地址、端口等信息到socket上,用函数bind();
- 设置要连接的对方的IP地址和端口等属性;
- 连接服务器,用函数connect();
- 收发数据,用函数send()和recv(),或者read()和write();
- 关闭网络连接。
1 TCP服务器
2 from socket import *
3
4 server_socket = socket(AF_INET, SOCK_STREAM) #创建socket实例,SOCK_STREAM表示TCP
5 server_socket.bind("192.168.6.18", 805) #绑定IP地址和端口号
6 server_socket.listen(2) #启动监听,2表示挂起等待连接队列的最大长度
7
8 connect_socket, address = server_socket.accept() #开启接收
9 info = connect_socket.recv(1024).decode() #接收长度为1024的字节并解码为utf-8字符
10 connect_socket.send(info.upper().encode()) #将utf-8字符编码为字节发送
11
12 connect_socket.close() #关闭连接
1 TCP客户端
2 from socket import *
3
4 client_socket = socket(AF_INET, SOCK_STREAM) #创建socket实例,SOCK_STREAM表示TCP
5 client_socket.connect("192.168.6.18", 805) #连接
6
7 client_socket.send("以心印心".encode()) #发送字符编码后的字节
8 message = client_socket.recv(1024).decode() #接收字节并解码为字符
9
10 client_socket.close() #断开客户端连接