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使用新浪微博api上传图片到微博示例
Jan 10 Python
python pdb调试方法分享
Jan 21 Python
python中元类用法实例
Oct 10 Python
Python3控制路由器——使用requests重启极路由.py
May 11 Python
python中的set实现不重复的排序原理
Jan 24 Python
详解Python中的四种队列
May 21 Python
关于python写入文件自动换行的问题
Jun 23 Python
对python中UDP,socket的使用详解
Aug 22 Python
Python 批量读取文件中指定字符的实现
Mar 06 Python
利用python生成照片墙的示例代码
Apr 09 Python
django如何自定义manage.py管理命令
Apr 27 Python
python中数组和列表的简单实例
Mar 25 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
php实现window平台的checkdnsrr函数
2015/05/27 PHP
PHP实现的构造sql语句类实例
2016/02/03 PHP
Composer设置忽略版本匹配的方法
2016/04/27 PHP
php5.3/5.4/5.5/5.6/7常见新增特性汇总整理
2020/02/27 PHP
syntaxhighlighter 使用方法
2007/07/02 Javascript
JavaScript 事件的一些重要说明
2009/10/25 Javascript
网页禁用右键实现代码(JavaScript代码)
2009/10/29 Javascript
js实现ifram取父窗口URL地址的方法
2015/02/09 Javascript
使用Node.js处理前端代码文件的编码问题
2016/02/16 Javascript
原生javascript 学习之js变量全面了解
2016/07/14 Javascript
javascript 内置对象及常见API详细介绍
2016/11/01 Javascript
微信小程序入门教程
2016/11/18 Javascript
vuejs使用FormData实现ajax上传图片文件
2017/08/08 Javascript
js实现图片放大展示效果
2017/08/30 Javascript
Angular表格神器ui-grid应用详解
2017/09/29 Javascript
使用vue脚手架(vue-cli)搭建一个项目详解
2019/05/09 Javascript
微信小程序全局变量改变监听的实现方法
2019/07/15 Javascript
JavaScript如何使用插值实现图像渐变
2020/06/28 Javascript
JavaScript实现鼠标移入随机变换颜色
2020/11/24 Javascript
Linux环境下MySQL-python安装过程分享
2015/02/02 Python
Python中方法链的使用方法
2016/02/23 Python
Python实现统计英文文章词频的方法分析
2019/01/28 Python
Python读取xlsx文件的实现方法
2019/07/04 Python
python 解决flask 图片在线浏览或者直接下载的问题
2020/01/09 Python
python实现根据给定坐标点生成多边形mask的例子
2020/02/18 Python
Python 中 sorted 如何自定义比较逻辑
2021/02/02 Python
CSS3中的5个有趣的新技术
2009/04/02 HTML / CSS
html5中JavaScript removeChild 删除所有节点
2014/05/16 HTML / CSS
使用phonegap创建联系人的实现方法
2017/03/30 HTML / CSS
Aquatalia官网:意大利著名鞋履品牌
2019/09/26 全球购物
哪些情况下不应该使用索引
2015/07/20 面试题
基层干部十八大感言
2014/01/19 职场文书
简历上的自我评价怎么写
2014/01/28 职场文书
爱心活动计划书
2014/04/26 职场文书
留守儿童工作方案
2014/06/02 职场文书
装饰公司活动策划方案
2014/08/23 职场文书