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的绘图工具matplotlib使用实例
Jul 03 Python
Pycharm编辑器技巧之自动导入模块详解
Jul 18 Python
名片管理系统python版
Jan 11 Python
Python操作mysql数据库实现增删查改功能的方法
Jan 15 Python
python3.7.0的安装步骤
Aug 27 Python
使用Python横向合并excel文件的实例
Dec 11 Python
Python进阶之自定义对象实现切片功能
Jan 07 Python
Python设计模式之原型模式实例详解
Jan 18 Python
Django项目之Elasticsearch搜索引擎的实例
Aug 21 Python
Python合并2个字典成1个新字典的方法(9种)
Dec 19 Python
撤回我也能看到!教你用Python制作微信防撤回脚本
Jun 11 Python
python中pycryto实现数据加密
Apr 29 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数组函数序列之array_push() 数组尾部添加一个或多个元素(入栈),返回新长度。
2011/11/07 PHP
分享php多功能图片处理类
2016/05/15 PHP
php生成mysql的数据字典
2016/07/07 PHP
JavaScript Event学习第十一章 按键的检测
2010/02/10 Javascript
Jquery css函数用法(判断标签是否拥有某属性)
2011/05/28 Javascript
7款风格新颖的jQuery/CSS3菜单导航分享
2013/04/23 Javascript
JS滚轮事件onmousewheel使用介绍
2013/11/01 Javascript
JS判断是否在微信浏览器打开的简单实例(推荐)
2016/08/24 Javascript
bootstrap select2插件用ajax来获取和显示数据的实例
2018/08/09 Javascript
js实现延迟加载的几种方法详解
2019/01/19 Javascript
详解超简单的react服务器渲染(ssr)入坑指南
2019/02/28 Javascript
python+opencv打开摄像头,保存视频、拍照功能的实现方法
2019/01/08 Python
python实现画五角星和螺旋线的示例
2019/01/20 Python
Python删除n行后的其他行方法
2019/01/28 Python
Python3.5装饰器典型案例分析
2019/04/30 Python
python读写csv文件实例代码
2019/07/05 Python
pandas的连接函数concat()函数的具体使用方法
2019/07/09 Python
Python中 CSV格式清洗与转换的实例代码
2019/08/29 Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
2019/12/09 Python
在TensorFlow中屏蔽warning的方式
2020/02/04 Python
PyCharm 2020 激活到 2100 年的教程
2020/03/25 Python
解决pytorch下出现multi-target not supported at的一种可能原因
2021/02/06 Python
HTML5本地数据库基础操作详解
2016/04/26 HTML / CSS
SVG实现多彩圆环倒计时效果的示例代码
2017/11/21 HTML / CSS
澳大利亚设计的优质鞋类和适合澳大利亚生活方式的服装:Rivers
2019/04/23 全球购物
一家专门经营包包的英国网站:MyBag
2019/09/08 全球购物
过滤器的用法
2013/10/08 面试题
中秋手机店促销方案
2014/06/16 职场文书
做人民满意的公务员活动方案
2014/08/25 职场文书
解放思想大讨论活动心得体会
2014/09/11 职场文书
2015年度物流工作总结
2015/04/30 职场文书
2015年检察院个人工作总结
2015/05/20 职场文书
公司晚宴祝酒词
2015/08/11 职场文书
python实现简易名片管理系统
2021/04/11 Python
Windows server 2012 配置Telnet以及用法详解
2022/04/28 Servers
Android实现图片九宫格
2022/06/28 Java/Android