- 客戶端和服務(wù)器聊天,可以一直聊天,直到一方發(fā)送’拜拜’。然后就可以和下一個人一直聊
# 服務(wù)器
import socket
server = socket.socket()
server.bind(('10.7.187.68', 8000))
server.listen(100)
print('開始監(jiān)聽')
while True:
conversation, addr = server.accept()
while True:
print('接收到請求:', addr)
re_data = conversation.recv(1024)
str1 = re_data.decode('utf-8')
print('客戶端:', str1)
if str1 != '拜拜':
message = input('請輸入發(fā)送消息:')
conversation.send(bytes(message.encode(encoding='utf-8')))
if message == '拜拜':
break
else:
break
conversation.close()
# 客戶端
import socket
client = socket.socket()
client.connect(('10.7.187.68', 8000))
while True:
message = input('請輸入需要發(fā)送的消息:')
client.send(message.encode(encoding='utf-8'))
if message != '拜拜':
re_data = client.recv(1024)
print('服務(wù)器:', re_data.decode('utf-8'))
if re_data.decode('utf-8') == '拜拜':
break
else:
break
client.close()
2.客戶端給服務(wù)器發(fā)送請求,請求成功后,客戶端給服務(wù)發(fā)送‘1’,服務(wù)器就給客戶端發(fā)送一張圖片;客戶端給服務(wù)發(fā)送‘2’,服務(wù)器就給客戶端返回一個json文件中的內(nèi)容;客戶端給服務(wù)發(fā)送‘3’, 服務(wù)器返回’拜拜’,然后斷開連接
# 服務(wù)器
import socket
server = socket.socket()
server.bind(('10.7.187.68', 8000))
server.listen(100)
print('開始監(jiān)聽')
while True:
conversation, addr = server.accept()
while True:
print('接收到請求:', addr)
re_data = conversation.recv(1024)
str1 = re_data.decode('utf-8')
print('客戶端:', str1)
if str1 != '拜拜':
if str1 == '1':
with open('王也.jpg', 'rb') as f:
content = f.read()
conversation.send(content)
elif str1 == '2':
import json
with open('json1.json', encoding='utf-8') as f1:
content1 = json.load(f1)
conversation.send(bytes(content1.encode(encoding='utf-8')))
elif str1 == '3':
message = '拜拜'
conversation.send(bytes(message.encode(encoding='utf-8')))
break
else:
message = input('請輸入:')
conversation.send(message.encode(encoding='utf-8'))
if message == '拜拜':
break
else:
break
conversation.close()
# 客戶端
import socket
client = socket.socket()
client.connect(('10.7.187.68', 8000))
while True:
message = input('請輸入需要發(fā)送的消息:')
client.send(message.encode(encoding='utf-8'))
if message != '拜拜':
re_data = client.recv(102400000)
if message == '1':
with open('接收圖片.jpg', 'wb') as f:
f.write(re_data)
elif message == '2':
import json
str1 = re_data.decode('utf-8')
js1 = json.dumps(str1, ensure_ascii=False)
with open('接收信息.json', 'w', encoding='utf-8') as f1:
f1.write(js1)
elif re_data.decode('utf-8') == '拜拜':
print('服務(wù)器:', re_data.decode('utf-8'))
break
else:
str1 = re_data.decode('utf-8')
print('服務(wù)器:', str1)
else:
break
client.close()