本文代码简单模拟了机器人聊天软件原理,服务端提前建立好字典,然后根据接收到的内容自动回复。当然,这个程序对客户端的信息是进行严格匹配,大家可以尝试结合分词模块和人工智能知识,设计一个合适的模糊匹配算法,就可以实现更好的聊天机器人了。

服务端代码:

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()

if not data:

break

print('Received message:', data)

conn.sendall(words.get(data, 'Nothing').encode())

conn.close()

s.close()

客户端代码:

import socket

#服务端主机IP地址和端口号

HOST = '127.0.0.1'

PORT = 50007

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

try:

#连接服务器

s.connect((HOST, PORT))

except Exception as e:

print('Server not found or not open')

sys.exit()

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协议编写会聊天的小机器人相关推荐

  1. Python|使用 TCP 协议实现智能聊天机器人

    实验内容: 1.熟悉标准库 socket 的用法. 2.熟悉 TCP 协议工作原理. 3.理解端口号的概念与作用. 4.熟悉 Socket 编程.编写聊天程序的服务端代码和客户端代码.完成后,先启动服 ...

  2. Python使用 TCP协议实现智能聊天机器人功能

    目录 1.TCP协议简单介绍(传输控制协议) 2.代码实现 3.进行聊天 1.TCP协议简单介绍(传输控制协议) TCP协议是在计算机网络TCP/IP体系中非常重要而且复杂的一个协议,它主要服务于传输 ...

  3. (已完善)基于Python的TCP 协议实现人机聊天(程序具有服务端和客户端)

    服务端 实现目标 GUI显示人机互动聊天内容,当客户端输入不完整内容,如'how old',服务器能回复年龄等. GUI当客户端输入"send a file",服务器端回复&quo ...

  4. 从入门到入土:基于Python采用TCP协议实现通信功能的程序

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  5. 基于阿里云用C/C++做了一个http协议与TCP协议的web聊天室的服务器——《干饭聊天室》

    基于阿里云用C/C++做了一个http协议与TCP协议的web聊天室的服务器--<干饭聊天室> 在这里首先感谢前端小伙伴飞鸟 前端技术请看一款基于React.C++,使用TCP/HTTP协 ...

  6. 基于python的聊天软件的设计与实现_Python基于TCP实现会聊天的小机器人功能示例...

    本文实例讲述了Python基于TCP实现会聊天的小机器人功能.分享给大家供大家参考,具体如下: 一 代码 1.服务端程序 import socket words ={'how are you?':'F ...

  7. 基于TCP协议的网络聊天室

    创建服务端程序 public class Server {public static void main(String[] args) {new Thread(new ServerTask()).st ...

  8. python 使用tcp协议实现web服务器(七) epoll版本web服务器

    文章目录 摘要 前置知识 运行截图 html,css文件代码 index.html login.html register.html style.css python代码 摘要 使用python 基于 ...

  9. 用python实现TCP协议传输功能(客户端代码)

    TCP传输的关键是得有socket(套接字),所以代码里面要用到socket的模块 实现原理所需要的环境,一台windows电脑,一个linux虚拟机,linux虚拟机下写好相关python代码,wi ...

最新文章

  1. 戴尔/Dell R420服务器在 CentOS 5.6 64bit环境下安装网卡驱动
  2. 【转】python2与python3的主要区别
  3. tensorflow随笔-tf.group
  4. fusion360安装包_【请注意】2020年以前从Autodesk中国区网站下载的Fusion 360已不能自动升级...
  5. Mybatis占位符问题—ReflectionException: There is no getter for property named xxx
  6. vuex 最简单、最详细的入门文档
  7. ES6/ES2015核心内容-转载
  8. 基于log4net的支持动态文件名、按日期和大小自动分割文件的日志组件
  9. 抄袭、借鉴与创新,有什么区别?
  10. 开源媒体标注系统cvat
  11. linux卸载kong,Ubuntu 源码安装Kong
  12. Eclipse中自动生成get/set时携带注释
  13. 62个大数据可视化工具
  14. Echarts Map地图下钻至县级
  15. win7计算机摄像头怎么打开,win7的摄像头在哪里打开 怎么打开win7摄像头
  16. 整洁代码--写好注释
  17. NAS媒体库资源归集整理工具nas-tools
  18. oppo X907刷机包 COLOROS 1.0 正式版公布 安卓4.2.2
  19. html按钮位置设置吗,html改变button按钮位置
  20. Android Studio启动海马玩模拟器

热门文章

  1. 一年中重要的节日列表_感悟 | 一年中最重要的节日是春节!
  2. java 日志技术_java 日志技术汇总(log4j , Commons-logging,.....)
  3. java label 超链接_Swing之带超链接的label简单实现。
  4. idam oracle_oracle中的wm_concat对应达梦的是什么?
  5. linux怎么查看定时任务有没有运行,怎么看crontab定时任务是否执行
  6. 2017年最流行的5个php开发框架视频教程推荐
  7. POJ1654 Area(多边形面积)
  8. 基于OneAPM的Web系统性能监测
  9. 五个案例让你明白GCD死锁
  10. 在SAE搭建微信公众账号服务