作业:
1. 客户端和服务器聊天,可以一直聊天,直到一方发送’拜拜’。
然后就可以和下一个人一直聊
#服务器
import socket
# 创建一个ipv4和tcp套接字对象
server = socket.socket()
# 绑定ip地址和端口
server.bind(('10.7.187.106', 8025))
# 开始监听(监听数最大是400)
server.listen((400))
print('开始监听!!!')
# 让服务器一直处在运行的状态
while True:
conversation, addr = server.accept()
print('接收到请求:', addr)
# 接收消息
while True:
data = conversation.recv(1024)
print('客户端:', data.decode('utf-8'))
# 发送消息
message = input('服务器:')
conversation.send(message.encode('utf-8'))
if message == '拜拜':
conversation.close()
#客户端
import socket
# 创建一个ipv4和tcp套接字对象
client = socket.socket()
#绑定地址和端口
client.connect(('10.7.187.106', 8025))
while True:
#发送消息
message = input('客户端:')
client.send(message.encode('utf-8'))
#接收消息
data = client.recv(1024)
print('服务器:', data.decode('utf-8'))
if message == '拜拜':
client.close()
2.客户端给服务器发送请求,请求成功后,客户端给服务发送‘1’,
服务器就给客户端发送一张图片;客户端给服务发送‘2’,
服务器就给客户端返回一个json文件中的内容;客户端给服务发送‘3’,
服务器返回’拜拜’,然后断开连接
没做出来
服务器:
import socket
# 创建一个ipv4和tcp套接字对象
server = socket.socket()
# 绑定ip地址和端口
server.bind(('10.7.187.106', 8023))
# 开始监听(监听数最大是400)
server.listen((400))
print('开始监听!!!')
# 让服务器一直处在运行的状态
while True:
conversation, addr = server.accept()
print('接收到请求:', addr)
# 接收消息
while True:
data = conversation.recv(1024)
print('客户端:', data.decode('utf-8'))
# 发送消息
if data == '1':
with open('www.jpg', 'br')as f:
message = f.read()
conversation.send(message)
elif data == '2':
with open('json', 'br') as f:
message = f.read()
conversation.send(message)
elif data == '3':
message = '拜拜'
conversation.send(message.encode('utf-8'))
conversation.close()
客户端:
# 创建一个ipv4和tcp套接字对象
client = socket.socket()
# 绑定地址和端口
client.connect(('10.7.187.106', 8023))
data = bytes()
while True:
message = input('客户端:')
client.send(message.encode('utf-8'))
re_data = client.recv(1024)
data += re_data
print('接收到数据!')
if not re_data:
break
print('数据接收完了')
with open('we.png', 'bw') as f:
f.write(data)
print('服务器:',re_data.decode('utf-8'))