服务器运行当显示
E:pycharmpythonvenvScriptspython.exe E:/pycharm/python/协议/机器人聊天服务器.py 开始监听 accept
说明服务器运行成功 之后运行客户端,输入“命令”
E:pycharmpythonvenvScriptspython.exe E:/pycharm/python/协议/机器人聊天客户端.py 你好 服务器:你好,以后请多指教 见到你真开心 服务器:希望我每天都能让你开心
服务器代码:
#导入python包 import socket #内置 import requests,json # ip地址 端口号 ip_port = ("127.0.0.1",8000) # 实例化socket对象 sk = socket.socket() sk.bind(ip_port) #绑定地址 print("开始监听") sk.listen(5) #监听请求 print("accept") def getInfo(text): #图灵机器人做好的文档信息 url = "http://openapi.tuling123.com/openapi/api/v2" data = { "reqType":0, "perception": { "inputText": { "text": "%s"%text } }, "userInfo": { "apiKey": "2d94f79c11ea446ea2122bd9c77ae104", #自己的密钥 "userId": "2dc32cc0de96c766" } } data = json.dumps(data) res = requests.post(url=url,data=data,headers={ 'content-type':'application/json' }) res = json.loads(res.text) res2 = res['results'][0]['values']['text'] return res2 conn,addr = sk.accept() #响应请求 while True: #给死循环 data = conn.recv(1024).decode() #接受客户端 请求1 text = getInfo(data) #在文档中将接受的消息匹配 conn.send(text.encode()) # 将文档中对应的回复 发送请求2
客户端代码:
import socket sk = socket.socket() #实例化socket对象 try: sk.connect(("127.0.0.1",8000)) # 连接成功 except: print("连接服务器失败") while True: #死循环 data = input("").encode() #input输入框让其客户端第一次输入 sk.send(data) #发送请求1 res = sk.recv(1024).decode() #接受请求2 print("服务器:%s"%res) #输出服务器的回复
在客户端与机器人聊天的功能就实现了!