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自动连接ssh的方法
Mar 07 Python
Python使用scrapy采集时伪装成HTTP/1.1的方法
Apr 08 Python
在Python上基于Markov链生成伪随机文本的教程
Apr 17 Python
Django中对通过测试的用户进行限制访问的方法
Jul 23 Python
利用python脚本如何简化jar操作命令
Feb 24 Python
Pandas之ReIndex重新索引的实现
Jun 25 Python
python装饰器代替set get方法实例
Dec 19 Python
PyQt5 closeEvent关闭事件退出提示框原理解析
Jan 08 Python
Python 保存加载mat格式文件的示例代码
Aug 04 Python
python实现经典排序算法的示例代码
Feb 07 Python
用Python selenium实现淘宝抢单机器人
Jun 18 Python
PO模式在selenium自动化测试框架的优势
Mar 20 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
解析func_num_args与func_get_args函数的使用
2013/06/24 PHP
php递归创建目录的方法
2015/02/02 PHP
php删除数组中重复元素的方法
2015/12/22 PHP
php+resumablejs实现的分块上传 断点续传功能示例
2017/04/18 PHP
thinkPHP利用ajax异步上传图片并显示、删除的示例
2018/09/26 PHP
Nigma vs Liquid BO3 第二场2.13
2021/03/10 DOTA
DIY jquery plugin - tabs标签切换实现代码
2010/12/11 Javascript
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
2012/02/27 Javascript
js优化针对IE6.0起作用(详细整理)
2012/12/25 Javascript
javascript相等运算符与等同运算符详细介绍
2013/11/09 Javascript
当达到输入长度时表单自动切换焦点
2014/04/06 Javascript
js简单抽奖代码
2015/01/16 Javascript
[js高手之路]图解javascript的原型(prototype)对象,原型链实例
2017/08/28 Javascript
深入理解NodeJS 多进程和集群
2018/10/17 NodeJs
Nautil 中使用双向数据绑定的实现
2019/10/02 Javascript
解决vue初始化项目时,一直卡在Project description上的问题
2019/10/31 Javascript
用jQuery实现抽奖程序
2020/04/12 jQuery
javascript实现前端成语点击验证
2020/06/24 Javascript
[55:39]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第二场 1月19日
2021/03/11 DOTA
python网络爬虫采集联想词示例
2014/02/11 Python
python 动态获取当前运行的类名和函数名的方法
2014/04/15 Python
Python彩色化Linux的命令行终端界面的代码实例分享
2016/07/02 Python
python DataFrame获取行数、列数、索引及第几行第几列的值方法
2018/04/08 Python
Python 的AES加密与解密实现
2019/07/09 Python
python pygame实现球球大作战
2019/11/25 Python
超酷炫 CSS3垂直手风琴菜单
2016/06/28 HTML / CSS
大专学生推荐信范文
2013/11/19 职场文书
编辑求职信样本
2013/12/16 职场文书
业务员薪酬管理制度
2014/01/15 职场文书
委托书范本
2014/04/02 职场文书
健康教育评估方案
2014/05/25 职场文书
酒店爱岗敬业演讲稿
2014/09/02 职场文书
建设工程授权委托书
2014/09/22 职场文书
教师节横幅标语
2014/10/08 职场文书
小学数学国培研修日志
2015/11/13 职场文书
Python实现照片卡通化
2021/12/06 Python