服务器与客户端连接 & 聊天机器人
服务器运行当显示
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 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) #输出服务器的回复
在客户端与机器人聊天的功能就实现了!
服务器与客户端连接 & 聊天机器人的更多相关文章
- (3.10)mysql基础深入——mysqld 服务器与客户端连接过程 源码分析【待写】
(3.10)mysql基础深入——mysqld 服务器与客户端连接过程 源码分析[待写]
- Oracle 局域网布置数据库服务器,客户端连接提示TNS:无监听器的解决实现
Oracle布置在局域网中的服务器的时候,用本地PL SQL 链接没有丝毫的问题. 但是,如果用远程客户端的PL SQL 链接的时候却出现了“TNS:无监听器”的问题. 首先,就是进行了服务器端的监听 ...
- ESP8266开发综合篇第十四节(LUA)-8266作为TCP服务器,Android客户端连接,显示温湿度,控制继电器
前几节先略过,我先补充上大部分人迫切的需求 编写Android TCP客户端 用Android Studio 先做一下界面 然后放一个输入对话框,因为没有显示出来这个控件.所以就手写 剩下的自己研究 ...
- redis学习教程四《管理、备份、客户端连接》
redis学习教程四<管理.备份.客户端连接> 一:Redis服务器命令 Redis服务器命令 下表列出了与Redis服务器相关的一些基本命令. 序号 命令 说明 1 BGREWRITE ...
- Mysql从客户端连接服务器连不上的问题
Mysql从客户端连接服务器连不上的问题 公司要用Mysql做一个测试,开始在自己的本地建一个Mysql数据库自己本地的程序再连上去,没有遇到过连接不上的问题.这次数据库在服务器上,从本地客户端连 ...
- 用友U8客户端连接不上服务器全攻略
用友U8客户端连接不上服务器全攻略 http://www.enet.com.cn2009年09月23日09:26 来自论坛 [导读]:如果网络不通,就让用户查找网络原因 检查步骤: 1.网络是否通? ...
- C# Winform Soket 网络编程 多个客户端连接服务器并返回客户端操作请求
2017.8.2 服务器: #region 参数与集合 /// <summary> /// 客户端IP /// </summary> string clientIP; /// ...
- 使用 WebSocket 客户端连接 MQTT 服务器
简介 近年来随着 Web 前端的快速发展,浏览器新特性层出不穷,越来越多的应用可以在浏览器端或通过浏览器渲染引擎实现,Web 应用的即时通信方式 WebSocket 得到了广泛的应用. WebSock ...
- C/S模式客户端连接服务器连接不上的问题
C/S模式客户端连接服务器连接不上的问题 1.服务器电脑防火墙关闭 2.服务器端SQL SERVER2008R: 配置工具--SQL SERVER配置管理器 MSSQLSERVER协议.客户端协议(S ...
随机推荐
- 字王大藏经体v0.1概念版
字王大藏经体v0.1概念版 zw-dzj 字王大藏经体v0.1概念版,是字王<中华大字库>2018版升级过程当中,在Github搜索资源时的意外惊喜. 大藏经为佛教经典的总集,简称为藏经. ...
- Jenkins连接Window服务器,上传jar并启动
https://blog.csdn.net/achenyuan/article/details/81181347
- spring-boot 2.1.2.RELEASE bug
不打印映射地址日志: 改用 2.0.5 RELEASE 即可
- SQL Server 复制表结构以及数据,去除表中重复字段
--复制另一个数据库中的某张表的结构及数据--select * from Test.dbo.TestTable(查询表中所有数据) --into [表名] 插入当前数据库新表,如果没有该表就创建 se ...
- mysql索引类型(按存储结构划分)
关于mysql索引类型,网上有很多相关的介绍,给人的感觉很乱.鄙人在翻阅相关书籍后,特意梳理了一下.哪里有不对的地方,欢迎指正! 1. B-Tree索引 它使用B-Tree数据结构来存储数据,实际上很 ...
- 选择排序java实现
package text.algorithm; /** * 选择排序 * O(n^2);空间复杂度O(1); */public class SelectionSort { public static ...
- Tomcat 控制台UTF-8乱码问题
1.修改cmd的编码格式 快捷键win+R打开运行程序,输入regedit打开注册表,找到以下路劲并且修改. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Comman ...
- thinkphp应用目录不可写,目录无法自动生成! 请手动生成项目目录~
一是 要把 html下的相关目录设置成 777 chmod -R 777 /var/www/html/..... 二是 要设置 selinux , 或者是 临时 关闭 selinux: setenfo ...
- CF Round #551 (Div. 2) D
CF Round #551 (Div. 2) D 链接 https://codeforces.com/contest/1153/problem/D 思路 不考虑赋值和贪心,考虑排名. 设\(dp_i\ ...
- 【python 3】 函数 进阶
函数进阶 1.函数命名空间和作用域 命名空间一共分为三种: 全局命名空间 局部命名空间 内置命名空间 *内置命名空间中存放了python解释器为我们提供的名字:input , print , str ...