服务端
# Author:Winter Liu is coming! import socket import random from multiprocessing import Process def record(info): with open("record.txt", "a") as fout: print(info, file=fout) def guess_num(conn, addr): num = random.randint(1, 100) while True: guess = int(conn.recv(1024).decode()) if guess > num: data = "大了" conn.send(data.upper().encode()) elif guess < num: data = "小了" conn.send(data.upper().encode()) else: data = "正确" conn.send(data.upper().encode()) info = conn.recv(1024).decode() record(info) break conn.close() if __name__ == '__main__': server = socket.socket() server.bind(("localhost", 9998)) server.listen() while True: conn, addr = server.accept() print("{} is connect".format(addr)) p = Process(target=guess_num, args=(conn,addr)) p.start()
客户端
# Author:Winter Liu is coming! import socket client = socket.socket() client.connect(("localhost", 9998)) name = input("请输入姓名:") print("**欢迎{},游戏开始!**".format(name)) n = 0 while True: data = input("请输入您猜测的数字:") n+=1 client.send(data.encode()) rec_data = client.recv(1024).decode() print("{}:{}".format(data, rec_data)) if rec_data == "正确": print("游戏结束,猜了{}次".format(n)) client.send("{}:{}".format(name,n).encode()) break client.close()