Python3 socket同步通信简单示例
发布时间 - 2026-01-11 01:46:39 点击率:次本文实例讲述了Python3 socket同步通信。分享给大家供大家参考,具体如下:

本文比较简单,适合入门用,作个笔记,方便日后抄写
一个服务端,一个客户端,而且是阻塞方式,一次只能接受一个客户端连接并通信噢。
客户端发送‘bye', 结束与服务端的通信,如果发送'shutdown',服务端将会关闭自己!
服务端代码:
from socket import *
from time import ctime
HOST = ''
PORT = 21567
BUFSIZE = 1024
ADDR = (HOST, PORT)
tcpSerSock = socket(AF_INET, SOCK_STREAM)
tcpSerSock.bind(ADDR)
tcpSerSock.listen(5)
quit = False
shutdown = False
while True:
print('waiting for connection...')
tcpCliSock, addr = tcpSerSock.accept()
print('...connected from: ', addr)
while True:
data = tcpCliSock.recv(BUFSIZE)
data = data.decode('utf8')
if not data:
break
ss = '[%s] %s' %(ctime(), data)
tcpCliSock.send(ss.encode('utf8'))
print(ss)
if data == 'bye':
quit = True
break
elif data == 'shutdown':
shutdown = True
break
print('Bye-bye: [%s: %d]' %(addr[0], addr[1]))
tcpCliSock.close()
if shutdown:
break
tcpSerSock.close()
print('Server has been
客户端代码:
from socket import *
HOST = 'localhost'
PORT = 21567
BUFSIZE = 1024
ADDR = (HOST, PORT)
tcpCliSock = socket(AF_INET, SOCK_STREAM)
tcpCliSock.connect(ADDR)
while True:
data = input('>')
if not data:
continue
print('input data: [%s]' %data)
tcpCliSock.send(data.encode('utf8'))
rdata = tcpCliSock.recv(BUFSIZE)
if not rdata:
break
print(rdata.decode('utf8'))
if data == 'bye' or data == 'shutdown':
break
tcpCliSock.close()
更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
# Python3
# socket
# 同步通信
# python3利用Socket实现通信的方法示例
# 服务端
# 客户端
# 进阶
# 操作技巧
# 相关内容
# 将会
# 数据结构
# 给大家
# 更多关于
# 所述
# 程序设计
# 使用技巧
# 作个
# 日后
# 编程技巧
# 讲述了
# import
# time
# ctime
# class
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel安装步骤详细教程_Laravel环境搭建指南
Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置
再谈Python中的字符串与字符编码(推荐)
手机网站制作与建设方案,手机网站如何建设?
Laravel如何实现多对多模型关联?(Eloquent教程)
Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤
详解Oracle修改字段类型方法总结
Android 常见的图片加载框架详细介绍
奇安信“盘古石”团队突破 iOS 26.1 提权
Laravel如何生成URL和重定向?(路由助手函数)
Python进程池调度策略_任务分发说明【指导】
Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程
Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解
非常酷的网站设计制作软件,酷培ai教育官方网站?
如何在建站之星网店版论坛获取技术支持?
Claude怎样写约束型提示词_Claude约束提示词写法【教程】
Mybatis 中的insertOrUpdate操作
如何在阿里云部署织梦网站?
香港服务器选型指南:免备案配置与高效建站方案解析
如何快速生成高效建站系统源代码?
Laravel如何实现数据库事务?(DB Facade示例)
laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法
Laravel如何生成和使用数据填充?(Seeder和Factory示例)
阿里云网站搭建费用解析:服务器价格与建站成本优化指南
网站页面设计需要考虑到这些问题
在线教育网站制作平台,山西立德教育官网?
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
利用JavaScript实现拖拽改变元素大小
Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】
Laravel如何创建自定义Artisan命令?(代码示例)
如何快速上传自定义模板至建站之星?
桂林网站制作公司有哪些,桂林马拉松怎么报名?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
Laravel如何使用Gate和Policy进行授权?(权限控制)
Laravel如何发送系统通知?(Notification渠道示例)
HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
如何在腾讯云服务器上快速搭建个人网站?
Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能
制作公司内部网站有哪些,内网如何建网站?
bing浏览器学术搜索入口_bing学术文献检索地址
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
网站制作价目表怎么做,珍爱网婚介费用多少?
Android利用动画实现背景逐渐变暗
Laravel如何实现本地化和多语言支持?(i18n教程)
香港服务器建站指南:免备案优势与SEO优化技巧全解析
Laravel如何处理表单验证?(Requests代码示例)
Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权
下一篇:【linux】gdb
下一篇:【linux】gdb

