Python网络编程之TCP与UDP协议套接字用法示例


Posted in Python onFebruary 02, 2018

本文实例讲述了Python网络编程之TCP与UDP协议套接字用法。分享给大家供大家参考,具体如下:

TCP协议

服务器端:

#!/usr/bin/env python
from socket import *
from time import ctime
HOST = ''
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
tcpSerSock = socket(AF_INET, SOCK_STREAM) ##创建服务器TCP套接字
tcpSerSock.bind(ADDR)
tcpSerSock.listen(5)
while True:
  print 'waiting for connection...'
  tcpCliSock, addr = tcpSerSock.accept() ##等待客户端连接
  print '...connected from:', addr
  while True:
    data = tcpCliSock.recv(BUFSIZ) ##监听客户端是否发送消息
    if not data:
      break
    tcpCliSock.send('[%s] %s' % (
      ctime(), data))
  tcpCliSock.close()
tcpSerSock.close()

客户端:

#!/usr/bin/env python
from socket import *
HOST = 'localhost'
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
tcpCliSock = socket(AF_INET, SOCK_STREAM)  ##创建客户端TCP套接字
tcpCliSock.connect(ADDR) ##连接服务器
while True:
  data = raw_input('> ')
  if not data:
    break
  tcpCliSock.send(data)
  data = tcpCliSock.recv(BUFSIZ) ##监听客户端发送消息
  if not data:
    break
  print data
tcpCliSock.close()

UDP协议

服务器端:

#!/usr/bin/env python
from socket import *
from time import ctime
HOST = ''
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
udpSerSock = socket(AF_INET, SOCK_DGRAM)
udpSerSock.bind(ADDR)
while True:
  print 'waiting for message...'
  data, addr = udpSerSock.recvfrom(BUFSIZ)##监听并接受客户端发的消息
  udpSerSock.sendto('[%s] %s' % (  ##给消息加上时间戳并返回给客户端
    ctime(), data), addr)
  print '...received from and returned to:', addr
udpSerSock.close()

客户端:

#!/usr/bin/env python
from socket import *
HOST = 'localhost'
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
udpCliSock = socket(AF_INET, SOCK_DGRAM)
while True:
  data = raw_input('> ')
  if not data:
    break
  udpCliSock.sendto(data, ADDR) ##给服务器发送数据
  data, ADDR = udpCliSock.recvfrom(BUFSIZ) ##客户端接受带时间戳的数据
  if not data:
    break
  print data
udpCliSock.close()

更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python正常时间和unix时间戳相互转换的方法
Apr 23 Python
关于Python中空格字符串处理的技巧总结
Aug 10 Python
python读取excel指定列数据并写入到新的excel方法
Jul 10 Python
python实现linux下抓包并存库功能
Jul 18 Python
浅谈tensorflow中几个随机函数的用法
Jul 27 Python
python Web开发你要理解的WSGI & uwsgi详解
Aug 01 Python
Python发送邮件功能示例【使用QQ邮箱】
Dec 04 Python
Python for i in range ()用法详解
Sep 18 Python
TensorFlow 显存使用机制详解
Feb 03 Python
Python Websocket服务端通信的使用示例
Feb 25 Python
Python 调用有道翻译接口实现翻译
Mar 02 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
Jan 08 Python
Python星号*与**用法分析
Feb 02 #Python
Python模块WSGI使用详解
Feb 02 #Python
Python常见字符串操作函数小结【split()、join()、strip()】
Feb 02 #Python
tensorflow中next_batch的具体使用
Feb 02 #Python
Python输出各行命令详解
Feb 01 #Python
Python输出由1,2,3,4组成的互不相同且无重复的三位数
Feb 01 #Python
Python实现的视频播放器功能完整示例
Feb 01 #Python
You might like
全国FM电台频率大全 - 31 新疆维吾尔族自治区
2020/03/11 无线电
ThinkPHP框架安全实现分析
2016/03/14 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
2019/02/08 PHP
javascript禁制后退键(Backspace)实例代码
2013/11/15 Javascript
javascript 实现字符串反转的三种方法
2013/11/23 Javascript
用于deeplink的js方法(判断手机是否安装app)
2014/04/02 Javascript
javascript制作2048游戏
2015/03/30 Javascript
NodeJS使用formidable实现文件上传
2016/10/27 NodeJs
聊聊那些使用前端Javascript实现的机器学习类库
2017/09/18 Javascript
微信小程序如何再次获取用户授权的方法
2019/05/10 Javascript
详解基于Wepy开发小程序插件(推荐)
2019/08/01 Javascript
wx-charts 微信小程序图表插件的具体使用
2019/08/18 Javascript
vue+elementui 对话框取消 表单验证重置示例
2019/10/29 Javascript
微信小程序文章详情功能完整实例
2020/06/03 Javascript
详解JavaScript的this指向和绑定
2020/09/08 Javascript
Python中捕捉详细异常信息的代码示例
2014/09/18 Python
在Python中使用SQLite的简单教程
2015/04/29 Python
详解python中字典的循环遍历的两种方式
2017/02/07 Python
python3学习笔记之多进程分布式小例子
2018/02/13 Python
详解python3中tkinter知识点
2018/06/21 Python
python生成带有表格的图片实例
2019/02/03 Python
python项目对接钉钉SDK的实现
2019/07/15 Python
Python装饰器使用你可能不知道的几种姿势
2019/10/25 Python
使用Bazel编译TensorBoard教程
2020/02/15 Python
Python基于argparse与ConfigParser库进行入参解析与ini parser
2021/02/02 Python
美国新蛋IT数码商城:Newegg.com
2016/07/21 全球购物
设计师家具购买和委托在线市场:Viyet
2016/11/16 全球购物
玩具反斗城天猫官方旗舰店:享誉全球的玩具店
2017/10/10 全球购物
建筑毕业生自我鉴定
2013/10/18 职场文书
体育老师的教学自我评价分享
2013/11/19 职场文书
集中整治工作方案
2014/05/01 职场文书
2014教师党员自我评议(5篇)
2014/09/20 职场文书
教师拔河比赛广播稿
2014/10/14 职场文书
中学生综合素质自我评价
2015/03/06 职场文书
Python开发工具Pycharm的安装以及使用步骤总结
2021/06/24 Python
Python办公自动化解决world文件批量转换
2021/09/15 Python