服务器运行当显示
E:\pycharm\python\venv\Scripts\python.exe E:/pycharm/python/协议/机器人聊天服务器.py
开始监听
accept
说明服务器运行成功 之后运行客户端,输入“命令”
E:\pycharm\python\venv\Scripts\python.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 res2conn,addr = sk.accept() #响应请求
while True: #给死循环data = conn.recv(1024).decode() #接受客户端 请求1text = 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) #发送请求1res = sk.recv(1024).decode() #接受请求2print("服务器:%s"%res) #输出服务器的回复
在客户端与机器人聊天的功能就实现了!