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爬虫爬取美剧网站的实现代码
Sep 03 Python
python cx_Oracle的基础使用方法(连接和增删改查)
Nov 19 Python
python 动态加载的实现方法
Dec 22 Python
python验证码识别实例代码
Feb 03 Python
Python基于FTP模块实现ftp文件上传操作示例
Apr 23 Python
python docx 中文字体设置的操作方法
May 08 Python
Python切片操作深入详解
Jul 27 Python
python 申请内存空间,用于创建多维数组的实例
Dec 02 Python
python实现字符串和数字拼接
Mar 02 Python
Opencv求取连通区域重心实例
Jun 04 Python
用Python的绘图库(matplotlib)绘制小波能量谱
Apr 17 Python
利用For循环遍历Python字典的三种方法实例
Mar 25 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删除文本文件中重复行的方法
2015/04/28 PHP
php无限分类使用concat如何实现
2015/11/05 PHP
php实现给一张图片加上水印效果
2016/01/02 PHP
PHP生成和获取XML格式数据的方法
2016/03/04 PHP
老生常谈php 正则中的i,m,s,x,e分别表示什么
2017/03/02 PHP
基于jquery的下拉框改变动态添加和删除表格实现代码
2020/09/12 Javascript
js中同步与异步处理的方法和区别总结
2013/12/25 Javascript
jquery中checkbox全选失效的解决方法
2014/12/26 Javascript
js实现星星打分效果的方法
2020/07/05 Javascript
jquery实现实时改变网页字体大小、字体背景色和颜色的方法
2015/08/05 Javascript
JS实现带鼠标效果的头像及文章列表代码
2015/09/27 Javascript
jQuery多级手风琴菜单实例讲解
2015/10/22 Javascript
Perl Substr()函数及函数的应用
2015/12/16 Javascript
详解js界面跳转与值传递
2016/11/22 Javascript
使用jQuery卸载全部事件的思路详解
2017/04/03 jQuery
nodejs批量下载图片的实现方法
2017/05/19 NodeJs
vue组件之Alert的实现代码
2017/10/17 Javascript
jquery点击回车键实现登录效果并默认焦点的方法
2018/03/09 jQuery
详解关于表格合并span-method方法的补充(表格数据由后台动态返回)
2019/05/21 Javascript
JS如何在不同平台实现多语言方式
2020/07/16 Javascript
Vue使用轮询定时发送请求代码
2020/08/10 Javascript
Python中的ConfigParser模块使用详解
2015/05/04 Python
Python绘制3d螺旋曲线图实例代码
2017/12/20 Python
Python爬虫实现(伪)球迷速成
2018/06/10 Python
详解django的serializer序列化model几种方法
2018/10/16 Python
python笔记之mean()函数实现求取均值的功能代码
2019/07/05 Python
django框架模板语言使用方法详解
2019/07/18 Python
基于Pycharm加载多个项目过程图解
2020/01/19 Python
浅析Python模块之间的相互引用问题
2021/02/26 Python
怎么可以提高数据库查询数据的速度
2014/06/28 面试题
机械专业毕业生自荐信
2013/11/02 职场文书
大学生演讲稿范文
2014/01/11 职场文书
高校优秀辅导员事迹材料
2014/05/07 职场文书
保护环境建议书400字
2014/05/13 职场文书
奥运会口号
2014/06/13 职场文书
2015社区六五普法工作总结
2015/04/21 职场文书