Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例
发布时间 - 2026-01-11 03:03:05 点击率:次本文实例讲述了Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能。分享给大家供大家参考,具体如下:

【吐槽】
网上的代码害死人,看着都写的言之凿凿,可运行就是有问题。
有些爱好代码、喜欢收藏代码的朋友,看到别人的代码就粘贴复制过来。可是起码你也试试运行看啊大哥
【正文】
昨日修改运行了UDP协议的C/S聊天程序,可是TCP协议的怎么都不行。各种试,各种坑。
做了下面几个修改后,终于可以了:
1、对发送、接收的信息,分别进行编码和解码
2、客户端的第10行bind改为connect(这真是个大坑!!)
(本文基于windows 7 + python 3.4)
完整代码如下(人头担保,本人亲测正常!):
服务器端:
# tcp_server.py
'''服务器'''
from socket import *
from time import ctime
HOST = '' #主机地址
PORT = 23345 #端口号
BUFSIZ = 2048 #缓存区大小,单位是字节,这里设定了2K的缓冲区
ADDR = (HOST, PORT) #链接地址
tcpSerSock = socket(AF_INET, SOCK_STREAM) #创建一个TCP套接字
tcpSerSock.bind(ADDR) #绑定地址
tcpSerSock.listen(5) #最大连接数为5
while True: #无限循环
print('尝试连接客户端。。。')
tcpCliSock, addr = tcpSerSock.accept() #等待接受连接
print('链接成功,客户端地址为:', addr)
while True:
data = tcpCliSock.recv(BUFSIZ) #接收数据,BUFSIZ是缓存区大小
if not data: break #如果data为空,则跳出循环
print(data.decode())
msg = '{} 服务器已接收 [自动回复]'.format(ctime())
tcpCliSock.send(msg.encode())
tcpCliSock.close() #关闭连接
tcpSerSock.close() #关闭服务器
客户端:
# tcp_client.py
'''客户端'''
from socket import *
from time import ctime
HOST = 'localhost' #主机地址
PORT = 23345 #端口号
BUFSIZ = 2048 #缓存区大小,单位是字节,这里设定了2K的缓冲区
ADDR = (HOST, PORT) #链接地址
tcpCliSock = socket(AF_INET, SOCK_STREAM) #创建一个TCP套接字
#tcpCliSock.bind(ADDR) #绑定地址
tcpCliSock.connect(ADDR) #绑定地址
while True:
msg = input('请输入:') #输入数据
if not msg: break #如果 msg 为空,则跳出循环
tcpCliSock.send(msg.encode())
data = tcpCliSock.recv(BUFSIZ) #接收数据,BUFSIZ是缓存区大小
if not data: break #如果data为空,则跳出循环
print(data.decode())
【运行截图】
实验方法:先运行服务器端,然后运行客户端
然后就可以在客户端自由的与服务器端聊天了:
更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
# Python
# Socket
# TCP协议
# 客户端
# 服务端
# 中文
# 自动回复
# 聊天
# 对python中基于tcp协议的通信(数据传输)实例讲解
# Python Scapy随心所欲研究TCP协议栈
# Python实现基于TCP UDP协议的IPv4 IPv6模式客户端和服务端功能示例
# Python网络编程之TCP与UDP协议套接字用法示例
# Python实现TCP/IP协议下的端口转发及重定向示例
# Python使用 TCP协议实现智能聊天机器人功能
# Python网络编程之Python编写TCP协议程序的步骤
# 绑定
# 为空
# 定了
# 创建一个
# 端口号
# 进阶
# 操作技巧
# 看着
# 几个
# 是个
# 言之凿凿
# 相关内容
# 是有
# 你也
# 数据结构
# 给大家
# 请输入
# 更多关于
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251811 】
【
AI营销90571 】
相关推荐:
网易LOFTER官网链接 老福特网页版登录地址
Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南
Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】
英语简历制作免费网站推荐,如何将简历翻译成英文?
如何用腾讯建站主机快速创建免费网站?
Python函数文档自动校验_规范解析【教程】
详解Huffman编码算法之Java实现
如何构建满足综合性能需求的优质建站方案?
Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)
高端建站三要素:定制模板、企业官网与响应式设计优化
Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法
如何快速搭建高效香港服务器网站?
Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决
Java垃圾回收器的方法和原理总结
Laravel如何使用Blade组件和插槽?(Component代码示例)
Laravel怎么实现验证码(Captcha)功能
ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
海南网站制作公司有哪些,海口网是哪家的?
浅述节点的创建及常见功能的实现
详解jQuery中基本的动画方法
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转
php打包exe后无法访问网络共享_共享权限设置方法【教程】
Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
如何用PHP工具快速搭建高效网站?
Laravel如何实现事件和监听器?(Event & Listener实战)
如何在腾讯云服务器快速搭建个人网站?
如何打造高效商业网站?建站目的决定转化率
利用python获取某年中每个月的第一天和最后一天
Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】
如何用狗爹虚拟主机快速搭建网站?
桂林网站制作公司有哪些,桂林马拉松怎么报名?
如何快速配置高效服务器建站软件?
Laravel如何操作JSON类型的数据库字段?(Eloquent示例)
微信公众帐号开发教程之图文消息全攻略
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
如何快速搭建高效简练网站?
Laravel如何实现API速率限制?(Rate Limiting教程)
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践
Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践
晋江文学城电脑版官网 晋江文学城网页版直接进入
手机网站制作与建设方案,手机网站如何建设?
Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲
Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】
微信小程序 require机制详解及实例代码
Python正则表达式进阶教程_复杂匹配与分组替换解析
微信小程序 五星评分(包括半颗星评分)实例代码

