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实现对比不同字体中的同一字符的显示效果
Apr 23 Python
在Python中操作字典之setdefault()方法的使用
May 21 Python
教大家使用Python SqlAlchemy
Feb 12 Python
Python处理文本换行符实例代码
Feb 03 Python
Python File readlines() 使用方法
Mar 19 Python
Pycharm设置去除显示的波浪线方法
Oct 28 Python
Django重置migrations文件的方法步骤
May 01 Python
Python3 requests文件下载 期间显示文件信息和下载进度代码实例
Aug 16 Python
Django 批量插入数据的实现方法
Jan 12 Python
Keras使用tensorboard显示训练过程的实例
Feb 15 Python
用python实现名片管理系统
Jun 18 Python
python打开音乐文件的实例方法
Jul 21 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生成随机数的三种方法
2014/09/10 PHP
ThinkPHP公共配置文件与各自项目中配置文件组合的方法
2014/11/24 PHP
php ajax异步读取rss文档数据
2016/03/29 PHP
JavaScript获取页面上某个元素的代码
2011/03/13 Javascript
基于jquery的文本框与autocomplete结合使用(asp.net+json)
2012/05/30 Javascript
使用jquery实现IE下按backspace相当于返回操作
2014/03/18 Javascript
JavaScript中判断页面关闭、页面刷新的实现代码
2014/08/27 Javascript
js实现类似jquery里animate动画效果的方法
2015/04/10 Javascript
将JavaScript的jQuery库中表单转化为JSON对象的方法
2015/11/17 Javascript
以WordPress为例讲解jQuery美化页面Title的方法
2016/05/23 Javascript
原生JS下拉加载插件分享
2016/12/26 Javascript
JS开发中百度地图+城市联动实现实时触发查询地址功能
2017/04/13 Javascript
vue父子组件的嵌套的示例代码
2017/09/08 Javascript
基于jQuery实现Ajax验证用户名是否可用实例
2018/03/25 jQuery
详解如何在Node.js的httpServer中接收前端发送的arraybuffer数据
2018/11/11 Javascript
前端js中的事件循环eventloop机制详解
2019/05/15 Javascript
JS根据Unix时间戳显示发布时间是多久前【项目实测】
2019/07/10 Javascript
Vue3.0中的monorepo管理模式的实现
2019/10/14 Javascript
Python3基础之基本数据类型概述
2014/08/13 Python
跟老齐学Python之眼花缭乱的运算符
2014/09/14 Python
跟老齐学Python之有点简约的元组
2014/09/24 Python
Python编写简单的HTML页面合并脚本
2016/07/11 Python
详解Python3操作Mongodb简明易懂教程
2017/05/25 Python
python调用xlsxwriter创建xlsx的方法
2018/05/03 Python
python脚本之一键移动自定格式文件方法实例
2019/09/02 Python
详解canvas在圆弧周围绘制文本的两种写法
2018/05/22 HTML / CSS
html5中svg canvas和图片之间相互转化思路代码
2014/01/24 HTML / CSS
RUIFIER官网:英国奢侈高级珠宝品牌
2020/06/12 全球购物
解除聘用合同证明书范本
2014/09/11 职场文书
田径运动会通讯稿
2014/09/13 职场文书
优秀教研组申报材料
2014/12/26 职场文书
2015年事业单位工作总结
2015/04/27 职场文书
社区服务理念口号
2015/12/25 职场文书
导游词之澳门妈祖庙
2019/12/19 职场文书
vue3使用vue-router的完整步骤记录
2021/06/20 Vue.js
MySQL 计算连续登录天数
2022/05/11 MySQL