Python3 socket同步通信简单示例


Posted in Python onJune 07, 2017

本文实例讲述了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程序设计有所帮助。

Python 相关文章推荐
Python数据结构之单链表详解
Sep 12 Python
MAC中PyCharm设置python3解释器
Dec 15 Python
Sanic框架配置操作分析
Jul 17 Python
Django框架设置cookies与获取cookies操作详解
May 27 Python
使用Python实现跳帧截取视频帧
May 31 Python
浅析Windows 嵌入python解释器的过程
Jul 26 Python
用Python实现二叉树、二叉树非递归遍历及绘制的例子
Aug 09 Python
python读取指定字节长度的文本方法
Aug 27 Python
Python Pandas 转换unix时间戳方式
Dec 07 Python
使用Python的Turtle库绘制森林的实例
Dec 18 Python
使用Pycharm分段执行代码
Apr 15 Python
Python获取百度热搜的完整代码
Apr 07 Python
Python实现获取磁盘剩余空间的2种方法
Jun 07 #Python
Python2.7基于淘宝接口获取IP地址所在地理位置的方法【测试可用】
Jun 07 #Python
Python中音频处理库pydub的使用教程
Jun 07 #Python
python中defaultdict的用法详解
Jun 07 #Python
浅谈numpy中linspace的用法 (等差数列创建函数)
Jun 07 #Python
python面向对象_详谈类的继承与方法的重载
Jun 07 #Python
windows下python连接oracle数据库
Jun 07 #Python
You might like
php session的锁和并发
2016/01/22 PHP
枚举JavaScript对象的函数
2006/12/22 Javascript
JS option location 页面跳转实现代码
2008/12/27 Javascript
让 JavaScript 轻松支持函数重载 (Part 2 - 实现)
2009/08/04 Javascript
JQuery动态创建DOM、表单元素的实现代码
2011/08/09 Javascript
JS 控件事件小结
2012/10/31 Javascript
javascript将url中的参数加密解密代码
2014/11/17 Javascript
解决angular的post请求后SpringMVC后台接收不到参数值问题的方法
2015/12/10 Javascript
深入理解ECMAScript的几个关键语句
2016/06/01 Javascript
微信小程序进行微信支付的步骤昂述
2016/12/01 Javascript
jQuery实现可移动选项的左右下拉列表示例
2016/12/26 Javascript
原生Aajax 和jQuery Ajax 写法个人总结
2017/03/24 jQuery
JS实现table表格固定表头且表头随横向滚动而滚动
2017/10/26 Javascript
基于jQuery实现Ajax验证用户名是否可用实例
2018/03/25 jQuery
React styled-components设置组件属性的方法
2018/08/07 Javascript
在Python的Flask框架下使用sqlalchemy库的简单教程
2015/04/09 Python
python使用wmi模块获取windows下的系统信息 监控系统
2015/10/27 Python
为Python的Tornado框架配置使用Jinja2模板引擎的方法
2016/06/30 Python
用Python徒手撸一个股票回测框架搭建【推荐】
2019/08/05 Python
python实现两个字典合并,两个list合并
2019/12/02 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
波兰最大的儿童服装连锁店之一:5.10.15.
2018/02/11 全球购物
全球独特生活方式产品和礼品购物网站:AHAlife
2018/09/18 全球购物
时尚圣经:The Fashion Bible
2019/03/03 全球购物
亚洲最大的运动鞋寄售店:KicksCrew
2020/11/26 全球购物
国际贸易专业个人求职信范文分享
2013/12/14 职场文书
船舶专业个人求职信范文
2014/01/02 职场文书
经理管理专业毕业自荐书范文
2014/02/12 职场文书
农村葬礼主持词
2014/03/31 职场文书
实验室标语
2014/06/21 职场文书
项目申请汇报材料
2014/08/16 职场文书
离婚协议书范本及离婚须知
2014/10/15 职场文书
参观邀请函范文
2015/02/02 职场文书
伏羲庙导游词
2015/02/09 职场文书
详细聊聊vue中组件的props属性
2021/11/02 Vue.js
MySQL数据库实验实现简单数据库应用系统设计
2022/06/21 MySQL