????????目录:
一、TCP服务端开发
二、TCP客户端开发
一、TCP服务端开发
1、开发流程
-
导入 socket 模块 -
创建TCP套接字 socket
-
绑定端口号 bind
-
设置监听 listen
-
等待客户端的连接请求 -
发送数据 send
-
接收数据 recv
-
关闭套接字 socket 表示通信完成
2、TCP服务端程序开发示例
import socket
# 创建服务端监听套接字
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 监听套接字绑定地址和端口
server.bind(('127.0.0.1', 8080))
# 监听套接字开始监听,准备接收客户端的连接请求
server.listen(128)
print('服务器开始监听...')
# 接收客户端的连接请求
# service_client:专门和客户端通信的套接字
# ip_port:客户端的 IP 地址和端口号
service_client, ip_port = server.accept()
print(f'服务器接收到来自{ip_port}的请求')
# 接收客户端发送的消息,最多接收 1024 给字节
recv_msg = service_client.recv(1024) # 接收的消息为 bytes 类型
print('客户端发送的消息为:', recv_msg.decode())
# 给客户端发送响应消息
send_msg = input('请输入响应的消息:')
service_client.send(send_msg.encode())
# 关闭和客户端通信的套接字
service_client.close()
# 关闭服务器监听套接字
server.close()
二、TCP客户端开发
1、开发流程
-
导入 socket 模块 -
创建TCP套接字 socket
-
发送数据 send
-
接收数据 recv
-
关闭套接字 socket 表示通信完成
2、TCP 客户端程序开发示例
import socket
# 创建客户端 socket 套接字对象
# socket.AF_INET:表示 IPV4
# socket.SOCK_STRAM:表示 TCP 传输协议
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 客户端请求和服务端程序建立连接
client.connect(('127.0.0.1', 8080))
print('客户端连接服务器成功!')
# 客户端向服务器发生消息
send_msg = input('请输入发送的消息:')
client.send(send_msg.encode()) # 注意:send 函数参数需要为 bytes 类型
# 客户端接收服务器响应的消息,最多接收 1024 个字节
recv_msg = client.recv(1024) # 接收的消息为 bytes 类型
print('服务器响应的消息为:', recv_msg.decode())
# 关闭客户端套接字
client.close()
|