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和Ruby中each循环引用变量问题(一个隐秘BUG?)
Jun 04 Python
python实现的登陆Discuz!论坛通用代码分享
Jul 11 Python
python并发编程之多进程、多线程、异步和协程详解
Oct 28 Python
Python 爬虫图片简单实现
Jun 01 Python
Python使用wxPython实现计算器
Jan 30 Python
Flask之flask-session的具体使用
Jul 26 Python
python 读取竖线分隔符的文本方法
Dec 20 Python
Python自定义一个类实现字典dict功能的方法
Jan 19 Python
python Django的web开发实例(入门)
Jul 31 Python
Python Pickle 实现在同一个文件中序列化多个对象
Dec 30 Python
django model的update时auto_now不被更新的原因及解决方式
Apr 01 Python
Pandas的数据过滤实现
Jan 15 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
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
php JWT在web端中的使用方法教程
2018/09/06 PHP
Ruffy javascript 学习笔记
2009/11/30 Javascript
Jquery上传插件 uploadify v3.1使用说明
2012/06/18 Javascript
jquery使用淘宝接口跨域查询手机号码归属地实例
2013/11/28 Javascript
javascript trim函数在IE下不能用的解决方法
2014/09/12 Javascript
Javascript获取CSS伪元素属性的实现代码
2014/09/28 Javascript
JavaScript创建闭包的两种方式的优劣与区别分析
2015/06/22 Javascript
JavaScript DOM 学习总结(五)
2015/11/24 Javascript
AngularJS进行性能调优的7个建议
2015/12/28 Javascript
原生态js,鼠标按下后,经过了那些单元格的简单实例
2016/08/11 Javascript
JS多物体实现缓冲运动效果示例
2016/12/20 Javascript
jQuery实现百度登录框的动态切换效果
2017/04/21 jQuery
jQuery Tree Multiselect使用详解
2017/05/02 jQuery
详解JS中的柯里化(currying)
2017/08/17 Javascript
微信小程序 数据绑定及运算的简单实例
2017/09/20 Javascript
angular中不同的组件间传值与通信的方法
2017/11/04 Javascript
使用FileReader API创建Vue文件阅读器组件
2018/04/03 Javascript
vue导出html、word和pdf的实现代码
2018/07/31 Javascript
vue 中使用 watch 出现了如下的报错的原因分析
2019/05/21 Javascript
vue pages 多入口项目 + chainWebpack 全局引用缩写说明
2020/09/21 Javascript
python获取当前时间对应unix时间戳的方法
2015/05/15 Python
python实现堆和索引堆的代码示例
2018/03/19 Python
Python实现朴素贝叶斯分类器的方法详解
2018/07/04 Python
Python 网络编程之UDP发送接收数据功能示例【基于socket套接字】
2019/10/11 Python
jupyter notebook 增加kernel教程
2020/04/10 Python
浅析Python 简单工厂模式和工厂方法模式的优缺点
2020/07/13 Python
html5 canvas里绘制椭圆并保持线条粗细均匀的技巧
2013/03/25 HTML / CSS
纪伊国屋泰国网上书店:Kinokuniya泰国
2017/12/24 全球购物
Nike挪威官网:Nike.com (NO)
2018/11/26 全球购物
团队精神演讲稿
2013/12/31 职场文书
农民工创业典型事迹
2014/01/25 职场文书
建筑公司员工自我鉴定
2014/04/08 职场文书
行政文员实习自我鉴定范文
2014/09/14 职场文书
科技馆观后感
2015/06/08 职场文书
MySQL脏读,幻读和不可重复读
2022/05/11 MySQL