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中的装饰器用法详解
Jan 14 Python
浅谈python新手中常见的疑惑及解答
Jun 14 Python
Python MySQLdb 使用utf-8 编码插入中文数据问题
Mar 13 Python
PyQt5显示GIF图片的方法
Jun 17 Python
Python3安装pip工具的详细步骤
Oct 14 Python
10行Python代码计算汽车数量的实现方法
Oct 23 Python
解决Python3.7.0 SSL低版本导致Pip无法使用问题
Sep 03 Python
Python通过getattr函数获取对象的属性值
Oct 16 Python
详解Python小数据池和代码块缓存机制
Apr 07 Python
Python 类,对象,数据分类,函数参数传递详解
Sep 25 Python
Python 阶乘详解
Oct 05 Python
详解Python+OpenCV进行基础的图像操作
Feb 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
留言板翻页的实现详解
2006/10/09 PHP
编写安全 PHP应用程序的七个习惯深入分析
2013/06/08 PHP
PHP中获取时间的下一周下个月的方法
2014/03/18 PHP
php中session过期时间设置及session回收机制介绍
2014/05/05 PHP
使用Huagepage和PGO来提升PHP7的执行性能
2015/11/30 PHP
PHP实现冒泡排序的简单实例
2016/05/26 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
2017/04/20 PHP
Extjs学习笔记之八 继承和事件基础
2010/01/08 Javascript
C#中TrimStart,TrimEnd,Trim在javascript上的实现
2011/01/17 Javascript
Jquery阻止事件冒泡 event.stopPropagation
2011/12/11 Javascript
关于Jquery操作Cookie取值错误的解决方法
2013/08/26 Javascript
javascript内置对象操作详解
2015/02/04 Javascript
js实现鼠标滚轮控制图片缩放效果的方法
2015/02/20 Javascript
JS实现横向与竖向两个选项卡Tab联动的方法
2015/09/27 Javascript
jQuery validate插件submitHandler提交导致死循环解决方法
2016/01/21 Javascript
详解Vue生命周期的示例
2017/03/10 Javascript
10个最优秀的Node.js MVC框架
2017/08/24 Javascript
vue-cli 首屏加载优化问题
2018/11/06 Javascript
Python的ORM框架SQLObject入门实例
2014/04/28 Python
零基础写python爬虫之抓取糗事百科代码分享
2014/11/06 Python
Windows下实现Python2和Python3两个版共存的方法
2015/06/12 Python
关于Tensorflow中的tf.train.batch函数的使用
2018/04/24 Python
对python中使用requests模块参数编码的不同处理方法
2018/05/18 Python
python 中Arduino串口传输数据到电脑并保存至excel表格
2019/10/14 Python
Pytorch maxpool的ceil_mode用法
2020/02/18 Python
简单介绍一下pyinstaller打包以及安全性的实现
2020/06/02 Python
Django配置Bootstrap, js实现过程详解
2020/10/13 Python
非常震撼的纯CSS3人物行走动画
2016/02/24 HTML / CSS
英国精品买手店:Browns Fashion
2016/09/29 全球购物
英国的潮牌鞋履服饰商店:size?
2019/03/26 全球购物
Java的类与C++的类有什么不同
2014/01/18 面试题
机械专业求职信范文
2014/07/15 职场文书
农村党员对照检查材料
2014/09/24 职场文书
挂职锻炼个人总结
2015/03/05 职场文书
2015医院个人工作总结范文
2015/05/21 职场文书
Mybatis-plus在项目中的简单应用
2021/07/01 Java/Android