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中迭代器(iterator)用法实例分析
Apr 29 Python
Python编程入门的一些基本知识
May 13 Python
python字符串对其居中显示的方法
Jul 11 Python
Python浅复制中对象生存周期实例分析
Apr 02 Python
Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例
Apr 19 Python
Python从使用线程到使用async/await的深入讲解
Sep 16 Python
Python之使用adb shell命令启动应用的方法详解
Jan 07 Python
Python构建图像分类识别器的方法
Jan 12 Python
python爬虫项目设置一个中断重连的程序的实现
Jul 26 Python
python numpy--数组的组合和分割实例
Feb 24 Python
Django {{ MEDIA_URL }}无法显示图片的解决方式
Apr 07 Python
使用Pytorch训练two-head网络的操作
May 28 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代码审核的详细介绍
2013/06/13 PHP
织梦sitemap地图实时推送给百度的教程
2015/08/03 PHP
PHP中key和current,next的联合运用实例分析
2016/03/29 PHP
深入浅析PHP无限极分类的案例教程
2016/05/09 PHP
php版微信小店API二次开发及使用示例
2016/11/12 PHP
laravel框架之数据库查出来的对象实现转化为数组
2019/10/23 PHP
PHP保存Base64图片base64_decode的问题整理
2019/11/04 PHP
javascript代码运行不出来执行错误的可能情况整理
2013/10/18 Javascript
Javascript之this关键字深入解析
2013/11/12 Javascript
JavaScript常用小技巧小结
2014/12/29 Javascript
Angular 根据 service 的状态更新 directive
2016/04/03 Javascript
JavaScript之WebSocket技术详解
2016/11/18 Javascript
整理关于Bootstrap模态弹出框的慕课笔记
2017/03/29 Javascript
angular学习之ngRoute路由机制
2017/04/12 Javascript
微信小程序开发中的疑问解答汇总
2017/07/03 Javascript
原生JS获取元素的位置与尺寸实现方法
2017/10/18 Javascript
jQuery实现切换隐藏与显示同时切换图标功能
2017/10/29 jQuery
前端必备插件之纯原生JS的瀑布流插件Macy.js
2017/11/22 Javascript
CentOS7中源码编译安装NodeJS的完整步骤
2018/10/13 NodeJs
jQuery Ajax async=>false异步改为同步时,解决导致浏览器假死的问题
2019/07/22 jQuery
python 多进程并行编程 ProcessPoolExecutor的实现
2019/10/11 Python
python文字转语音的实例代码分析
2019/11/12 Python
Python线程障碍对象Barrier原理详解
2019/12/02 Python
python 项目目录结构设置
2020/02/14 Python
Python 实现图片转字符画的示例(静态图片,gif皆可)
2020/11/05 Python
德国原装品牌香水、化妆品和手表网站:BRASTY.DE
2016/10/16 全球购物
试解释COMMIT操作和ROLLBACK操作的语义
2014/07/25 面试题
车间组长岗位职责
2013/12/20 职场文书
外贸专业求职信
2014/03/09 职场文书
民用住房租房协议书
2014/10/29 职场文书
2019年房屋委托租赁合同范本(通用版)!
2019/07/17 职场文书
七年级作文之《我和我的祖国》观后感作文
2019/10/18 职场文书
Python合并pdf文件的工具
2021/07/01 Python
Python内置的数据类型及使用方法
2022/04/13 Python
HTML页面中使两个div并排显示的实现
2022/05/15 HTML / CSS
vue3不同环境下实现配置代理
2022/05/25 Vue.js