Python基于TCP实现会聊天的小机器人功能示例


Posted in Python onApril 09, 2018

本文实例讲述了Python基于TCP实现会聊天的小机器人功能。分享给大家供大家参考,具体如下:

一 代码

1、服务端程序

import socket
words ={'how are you?':'Fine,thank you.',
'how old are you?':'38',
'what is your name?':'Dong FuGuo',
"what's your name?":'Dong FuGuo',
'where do you work?':'SDIBT',
'bye':'Bye'}
HOST =''
PORT =50007
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#绑定socket
s.bind((HOST, PORT))
#开始监听
s.listen(1)
print('Listening at port:',PORT)
conn, addr = s.accept()
print('Connected by', addr)
while True:
  data = conn.recv(1024)
  data = data.decode()
  ifnot data:
break
print('Received message:', data)
conn.sendall(words.get(data,'Nothing').encode())
conn.close()

2、客户端程序

import socket
HOST ='127.0.0.1'#服务端主机IP地址
PORT =50007#服务端主机端口号
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))#连接连接
while True:
  c = input('Input the content you want to send:')
  s.sendall(c.encode())#发送数据
  data = s.recv(1024)#从客户端接收数据
  data = data.decode()
  print('Received:', data)
  if c.lower()=='bye':
break
s.close()#关闭连接

二 运行结果

Python基于TCP实现会聊天的小机器人功能示例

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
学习python 之编写简单乘法运算题
Feb 27 Python
Python正则表达式实现截取成对括号的方法
Jan 06 Python
python使用matplotlib绘制柱状图教程
Feb 08 Python
python中正则表达式的使用方法
Feb 25 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
Jul 26 Python
python 获取键盘输入,同时有超时的功能示例
Nov 13 Python
Python读取csv文件分隔符设置方法
Jan 14 Python
Python shutil模块用法实例分析
Oct 02 Python
pytorch中的inference使用实例
Feb 20 Python
Python如何生成xml文件
Jun 04 Python
Python脚本实现Zabbix多行日志监控过程解析
Aug 26 Python
python操作链表的示例代码
Sep 27 Python
Python生成任意范围任意精度的随机数方法
Apr 09 #Python
python网络爬虫学习笔记(1)
Apr 09 #Python
Python中defaultdict与lambda表达式用法实例小结
Apr 09 #Python
Python3 实现随机生成一组不重复数并按行写入文件
Apr 09 #Python
python生成不重复随机数和对list乱序的解决方法
Apr 09 #Python
解决Python的str强转int时遇到的问题
Apr 09 #Python
Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度
Apr 09 #Python
You might like
PHP新手上路(八)
2006/10/09 PHP
在MongoDB中模拟Auto Increment的php代码
2011/03/06 PHP
解决PHP4.0 和 PHP5.0类构造函数的兼容问题
2013/08/01 PHP
PHP实现取得HTTP请求的原文
2014/08/18 PHP
php最简单的删除目录与文件实现方法
2014/11/28 PHP
PHP5.4起内置web服务器使用方法
2016/08/09 PHP
微信公众号之主动给用户发送消息功能
2019/06/22 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
Javascript调用XML制作连动下拉列表框
2006/06/25 Javascript
List the UTC Time on a Computer
2007/06/11 Javascript
使用jQuery Ajax 请求webservice来实现更简练的Ajax
2016/08/04 Javascript
解决vue页面DOM操作不生效的问题
2018/03/17 Javascript
微信小程序实现图片上传放大预览删除代码
2020/06/28 Javascript
在移动端使用vue-router和keep-alive的方法示例
2018/12/02 Javascript
在Vant的基础上封装下拉日期控件的代码示例
2018/12/05 Javascript
[00:26]TI7不朽珍藏III——冥界亚龙不朽展示
2017/07/15 DOTA
Python标准库之多进程(multiprocessing包)介绍
2014/11/25 Python
Python使用装饰器进行django开发实例代码
2018/02/06 Python
Python matplotlib的使用并自定义colormap的方法
2018/12/13 Python
使用Python求解带约束的最优化问题详解
2020/02/11 Python
Python qrcode 生成一个二维码的实例详解
2020/02/12 Python
python logging设置level失败的解决方法
2020/02/19 Python
Python HTTP下载文件并显示下载进度条功能的实现
2020/04/02 Python
Python3爬虫关于代理池的维护详解
2020/07/30 Python
HTML5给汉字加拼音收起展开组件的实现代码
2020/04/08 HTML / CSS
英国建筑用品在线:Building Supplies Online(BSO)
2018/04/30 全球购物
澳大利亚珍珠首饰购物网站:Vayo Pearls
2019/03/11 全球购物
Monica Vinader官网:英国轻奢珠宝品牌
2020/02/05 全球购物
意大利在线高尔夫商店:Online Golf
2021/03/09 全球购物
实习教师个人的自我评价
2013/11/08 职场文书
家长会演讲稿范文
2014/01/10 职场文书
作风大整顿心得体会
2014/09/10 职场文书
当你焦虑迷茫时,请读读这6句话
2019/07/24 职场文书
redis连接被拒绝的解决方案
2021/04/12 Redis
Java中使用Filter过滤器的方法
2021/06/28 Java/Android
JavaScript原型链中函数和对象的理解
2022/06/16 Javascript