服务器与客户端连接 & 聊天机器人

服务器运行当显示

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)    #输出服务器的回复

 在客户端与机器人聊天的功能就实现了!

原文地址:https://www.cnblogs.com/aloneindefeat/p/10766770.html