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

服务器运行当显示

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

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

 

转载于:https://www.cnblogs.com/aloneindefeat/p/10766770.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/386952.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Fiddler抓取https设置及其原理

Fiddler抓取https设置及其原理 2018-02-02 目录 1 HTTPS握手过程 2 Fiddler抓取HTTPS过程 3 Fiddler抓取HTTPS设置参考 数字签名是什么? 1 HTTPS握手过程 HTTPS 并非是应用层的一种新协议。只是 HTTP 通信接口部分用 SSL (安全套接字层)和…

springboot 返回json字符串格式化问题

在idea中yml文件中添加以下注解就可以格式化json字符串效果 spring: jackson: serialization: indent-output: true 原返回json格式为: {"isSuccess":"ok","code":"0","message":"success",&…

RUNOOB python练习题10

用来练手的python 练习题,原链接 : python练习实例9 题干 : 暂停两秒输出,并格式化当前时间。 import time,datetimeTIME datetime.datetime.now() print(TIME.strftime("%Y.%m.%d %H-%M-%S")) time.sleep(2) TIME datetime.datetime.now(…

HTTPS连接过程以及中间人攻击劫持

HTTPS连接过程以及中间人攻击劫持 目前很多应用都用webview加载H5页面,如果服务端采用的是可信CA颁发的证书,在 webView.setWebViewClient(webviewClient) 时重载 WebViewClient的onReceivedSslError() ,如果出现证书错误,直接调…

Cookie、cookie使用方法

Cookie、cookie使用方法、保存用户名密码 //设置Cookie,//cname 获取时所需参数//username,password 用于记住账号密码,如果只要存一个参数 password为空即可//exdays 设置过期参数 设为负数即可删除(如-1)function setCookie(c…

RUNOOB python练习题12 找素数问题

用来练手的python 练习题,原链接 : python练习实例12 题干 : 判断101-200之间有多少个素数,并输出所有素数 源代码如下: import numpy as np bound np.arange(101,201,1) result np.array([]) for k in bound:for i in range(k):# 如果k存在不是1或…

Linux: centOS6.5 RabbitMQ

在大多数大公司,像应用服务器软件的安装、部署都是运维的事情,其实自己去尝试部署一下,也是有收获的。 有机会正好尝试了Linux下的rabbitMq安装过程,做了记录,希望有用到的人可以做下参考。 安装环境: Li…

RUNOOB python练习题13 水仙花数

用来练手的python 练习题其十三,原链接 : python练习实例13 题干 : 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",…

OsharpNS轻量级.net core快速开发框架简明入门教程-代码生成器的使用

OsharpNS轻量级.net core快速开发框架简明入门教程 教程目录 从零开始启动Osharp 1.1. 使用OsharpNS项目模板创建项目 1.2. 配置数据库连接串并启动项目 1.3. OsharpNS.Swagger使用实例(登录和授权) 1.4. Angular6的前端项目启动Osharp代码生成器的使用 2.1 生成器的使用 2.2 生…

RUNOOB python练习题 14

用来练手的python 练习题其十四,原链接 : python练习实例14 题干 : 将一个正整数分解质因数。例如:输入90,打印出90233*5。 拿到题目,我们就可以看出,首先我们需要一个函数来判断某一正整数是否为质数,然后还需要一个…

关于作者

北京某公司渗透工程师 Web渗透、PHP/Java代码审计、安全研究 想换一份工作,求推荐。转载于:https://www.cnblogs.com/dgjnszf/p/10779097.html

centos7通过yum安装JDK1.8

安装之前先检查一下系统有没有自带open-jdk 命令: rpm -qa |grep java rpm -qa |grep jdk rpm -qa |grep gcj 如果没有输入信息表示没有安装。 如果安装可以使用rpm -qa | grep java | xargs rpm -e --nodeps 批量卸载所有带有Java的文件 这句命令的关键字是j…

一个电脑的重装到java开发环境安装配置的全过程

刚拿到一台别人用过的电脑。看着c盘爆满,而且用了还是windows7操作系统,强迫症发作马上就准备重装系统。 之前换固态使用wepe制作U盘启动盘装系统的步骤和过程全部忘记的,贼尴尬。 同事都看不过眼了 使用UltraISO这个软件帮我做了U盘启动盘 …

RUNOOB python练习题17

用来练手的python 练习题其十三,原链接 : python练习实例17 题干 : 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数 这个例题让我回忆起了远古的记忆,python str类的 isalpha,isspace,isdigit方法。这些方法通过比较ASC…

Centos7下使用ELK(Elasticsearch + Logstash + Kibana)搭建日志集中分析平台

Centos7下使用ELK(Elasticsearch Logstash Kibana)搭建日志集中分析平台 日志监控和分析在保障业务稳定运行时,起到了很重要的作用,不过一般情况下日志都分散在各个生产服务器,且开发人员无法登陆生产服务器&#xf…

叠数的加法与字符串 RUNOOB python练习题 18

用来练手的python 练习题其十八,原链接 : python练习实例18 题干: 求saaaaaaaaaaaa…a的值,其中a是一个数字。例如222222222222222(此时共有5个数相加),几个数相加由键盘控制 这种类型的叠数相加,让我不禁联想到了python中&…

wget在linux中安装出现错误解决办法

在使用wget命令报错 certificate common name xxx doesnt match requestde host name,我们一般的解决办法是查找下载地址,但是有时候更换地址也会发生错误, wget http://www.monkey.org/~provos/libevent-1.2.tar.gz 报如下错: er…

linux下elasticsearch的安装

首先安装jdk 下载elasticsearch wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz 解压 tar -zxvf elasticsearch-6.2.4.tar.gz 移动项目到/usr目录下 mv elasticsearch-6.2.4 /usr 启动es /usr/elasticsearch-6.4.2/bin/elastic…

RUNOOB python练习题19 找出1000以内的所有完数

用来练手的python 练习题,原链接 : python练习实例19 题干: 一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如61+2+3.编程找出1000以内的所有完数。 首先我们要理解,什么是完数。根据百度词条&am…

金蝶学习网站

https //vip.kingdee.com/转载于:https://www.cnblogs.com/RogerLu/p/10784498.html