zoukankan      html  css  js  c++  java
  • 服务器与客户端连接 & 聊天机器人

    服务器运行当显示

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

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

  • 相关阅读:
    GIT操作命令
    flask中logger日志的使用
    Flask项目总结学习
    kubernetes容器网络
    Chrome浏览器离线安装包下载
    《Linux防火墙配置》
    Redhat7.4配置本地yum源
    zabbix5利用python脚本发报警邮件和趋势图
    screen命令
    MX记录
  • 原文地址:https://www.cnblogs.com/aloneindefeat/p/10766770.html
Copyright © 2011-2022 走看看