- 客戶端和服務(wù)器聊天,可以一直聊天,直到一方發(fā)送’拜拜’。然后就可以和下一個人一直聊
#服務(wù)器端:
import socket
serve = socket.socket()
serve.bind(("10.7.187.128",9092))
serve.listen(1024)
print("開始監(jiān)聽")
while True:
conversation,addr = serve.accept()
while True:
data = conversation.recv(1024)
print("客戶端:",data.decode("utf-8"))
if data.decode("utf-8") == "拜拜":
conversation.send("拜拜".encode(encoding="utf-8"))
print("下一會話者接聽")
break
message = input("輸入回話內(nèi)容:")
conversation.send(message.encode(encoding="utf-8"))
if message == "拜拜":
print("下一會話者接聽")
break
conversation.close()
#客戶端:
import socket
client = socket.socket()
client.connect(("10.7.187.128",9092))
while True:
message = input("輸入內(nèi)容:")
client.send(message.encode(encoding="utf-8"))
if message == "拜拜":
print("斷開會話連接")
break
data = client.recv(1024)
print("服務(wù)器:",data.decode("utf-8"))
if data.decode("utf-8") == "拜拜":
client.send("拜拜".encode(encoding="utf-8"))
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
serve = socket.socket()
serve.bind(("10.7.187.128",9096))
serve.listen(1024)
print("開始監(jiān)聽")
while True:
conversation,addr = serve.accept()
message = "請輸入編號1:獲取圖片;2:獲取json文件;3:拜拜"
conversation.send(message.encode(encoding="utf-8"))
data = conversation.recv(1024)
print("客戶端:", data.decode("utf-8"))
while True:
data = conversation.recv(1024)
print("客戶端:",data.decode("utf-8"))
if data.decode("utf-8") =="1":
with open("-4d29fda630106db2.jpg","rb") as f:
content = f.read()
conversation.send(content)
elif data.decode("utf-8") == "2":
with open("home.json","rb") as f:
content = f.read()
conversation.send(content)
elif data.decode("utf-8") == "3":
conversation.send("拜拜".encode(encoding="utf-8"))
else:
message = "請輸入編號1:獲取圖片;2:獲取json文件;3:拜拜"
conversation.send(message.encode(encoding="utf-8"))
conversation.close()
客戶端:
import socket
client = socket.socket()
client.connect(("10.7.187.128",9096))
message = "我要請求"
client.send(message.encode(encoding="utf-8"))
while True:
re_data = client.recv(1024)
print("服務(wù)器:",re_data.decode("utf-8"))
message = input("輸入內(nèi)容:")
client.send(message.encode(encoding="utf-8"))
data1 = bytes()
if message == "1":
while True:
data = client.recv(1024)
data1 += data
if not data:
break
print("數(shù)據(jù)接收完了")
with open("回復(fù)1圖片.jpg","wb") as f:
f.write(data1)
elif message == "2":
while True:
data = client.recv(1024)
data1 += data
if not data:
break
print("數(shù)據(jù)接收完了")
with open("new_home.json","w",encoding="utf-8") as f:
f.write(data1)
elif message == "3":
break
else:
print("輸入有誤,請重新請求")
break