服务端
"""
TCP服务端函数示例
"""
import socket
# 创建tcp套接字
# 1.3.3 TCP客户端
tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定地址
tcp_socket.bind(("192.168.3.11", 8888))
# 设置为监听套接字 (等待队列数)
tcp_socket.listen(5)
# 等待客户端连接
while True:
print("等待客户端连接...")
# 返回值:
# connfd 客户端连接套接字
# addr 连接的客户端地址
connfd, addr = tcp_socket.accept()
# 循环收发消息 客户端退出 recv立即返回b""
while True:
# 每次最多接收消息的大小
data = connfd.recv(5)
# data=b""客户端直接关闭 b"##"客户端主动告知关闭
if not data or data == b'##':
break
print("收到:", data.decode())
connfd.send(b"ok")
connfd.close()
# # 关闭套接字
# tcp_socket.close()
客户端
"""
TCP套接字编程 客户端
"""
from socket import socket
# 服务端地址
ADDR = ("192.168.3.11", 8888)
# 使用默认值--》tcp
tcp_socket = socket()
# 发起连接
tcp_socket.connect(ADDR)
# 循环发送接收消息
while True:
msg = input(">>")
tcp_socket.send(msg.encode())
# 结束发送
if msg == "##":
break
data = tcp_socket.recv(1024)
print("服务器回执:", data.decode())
tcp_socket.close()