服务器端代码
"""
tcp_server.py tcp 套接字服务端流程
重点代码
注意: 功能性代码,注重流程和函数使用
"""
import socket
# 创建tcp套接字
sockfd = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定地址
sockfd.bind(('0.0.0.0', 8888))
# 设置监听
sockfd.listen(5)
while True:
# 阻塞等待处理连接
print('waiting for connect....')
try:
connfd, addr = sockfd.accept()
# 打印连接的客户端地址
print('Connect from', addr)
except KeyboardInterrupt:
print('Server exit')
break
except Exception as e:
print(e)
continue
while True:
# 收发消息
data = connfd.recv(1024)
if not data:
break
print('收到:', data.decode())
# 发送字节串
n = connfd.send(b'Thanks:'+data)
print('发送%d字节' % n)
# 关闭套接字
print(connfd, '退出了')
connfd.close()
sockfd.close()
# 乌班图系统可以用过这个命令访问
# telent 127.0.0.1 8888
客户端代码
"""
tcp_client.py tcp 客户端流程
重点代码
"""
from socket import *
# 创建tcp套接字
sockfd = socket()
# 连接服务器
server_addr = ('127.0.0.1', 8888)
sockfd.connect(server_addr)
while True:
# 发送消息
data = input('Msg>>')
if not data:
break
sockfd.send(data.encode())
data = sockfd.recv(1024)
print('server:',data.decode())
# 关闭套接字
sockfd.close()