python实现TCP服务器端与客户端的方法详解


Posted in Python onApril 30, 2015

本文实例讲述了python实现TCP服务器端与客户端的方法。分享给大家供大家参考。具体如下:

TCP服务器程序(tsTserv.py):

from socket import *
from time import ctime
HOST = ''
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
tcpSerSock = socket(AF_INET, SOCK_STREAM)
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()

TCP客户端程序(tsTclnt.py):

from socket import *
HOST = 'localhost'
PORT = 21567
BUFSIZ = 1024
ADDR = (HOST, PORT)
tcpCliSock = socket(AF_INET, SOCK_STREAM)
tcpCliSock.connect(ADDR)
while True:
  data = raw_input('> ')
  if not data:
    break
  tcpCliSock.send(data)
  data1 = tcpCliSock.recv(BUFSIZ)
  if not data1:
    break
  print data1
tcpCliSock.close()

运行说明:先运行服务器程序,作用类似于打开服务器保持等待客户请求,再运行客户端程序。

运行界面如下:

服务器端:

D:\code\ex>python tsTserv.py
waiting for connection...
...connected from: ('127.0.0.1', 2883)
waiting for connection...
...connected from: ('127.0.0.1', 2885)
waiting for connection...
...connected from: ('127.0.0.1', 2889)
waiting for connection...
...connected from: ('127.0.0.1', 2891)
waiting for connection...
...connected from: ('127.0.0.1', 2892)
waiting for connection...
...connected from: ('127.0.0.1', 2893)
waiting for connection...

客户端:

D:\code\ex>python tsTclnt.py
> 1
[Thu Feb 02 15:52:21 2012] 1
> 2
[Thu Feb 02 15:52:22 2012] 2
> 3
[Thu Feb 02 15:52:22 2012] 3
> 5
[Thu Feb 02 15:52:23 2012] 5
> 6
[Thu Feb 02 15:52:24 2012] 6
>
D:\code\ex>

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

Python 相关文章推荐
在python的WEB框架Flask中使用多个配置文件的解决方法
Apr 18 Python
一个基于flask的web应用诞生 bootstrap框架美化(3)
Apr 11 Python
使用Python写一个小游戏
Apr 02 Python
Python动态导入模块的方法实例分析
Jun 28 Python
Python  unittest单元测试框架的使用
Sep 08 Python
Python之inspect模块实现获取加载模块路径的方法
Oct 16 Python
Python生成MD5值的两种方法实例分析
Apr 26 Python
python程序控制NAO机器人行走
Apr 29 Python
python使用Paramiko模块实现远程文件拷贝
Apr 30 Python
jenkins配置python脚本定时任务过程图解
Oct 29 Python
python实现猜数游戏
Mar 27 Python
keras分类之二分类实例(Cat and dog)
Jul 09 Python
python排序方法实例分析
Apr 30 #Python
python中lambda与def用法对比实例分析
Apr 30 #Python
python中self原理实例分析
Apr 30 #Python
部署Python的框架下的web app的详细教程
Apr 30 #Python
python实现清屏的方法
Apr 30 #Python
Python中类的定义、继承及使用对象实例详解
Apr 30 #Python
python中global用法实例分析
Apr 30 #Python
You might like
php线性表顺序存储实现代码(增删查改)
2012/02/16 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
2016/09/11 PHP
php  单例模式详细介绍及实现源码
2016/11/05 PHP
PHP中一个有趣的preg_replace函数详解
2018/08/15 PHP
jquery增加时编辑jqGrid(实例代码)
2013/11/08 Javascript
js/jquery判断浏览器的方法小结
2014/09/02 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
2015/09/02 Javascript
jQuery提示插件qTip2用法分析(支持ajax及多种样式)
2016/06/08 Javascript
全面理解闭包机制
2016/07/11 Javascript
jQuery插件HighCharts绘制的基本折线图效果示例【附demo源码下载】
2017/03/07 Javascript
微信小程序 下拉菜单简单实例
2017/04/13 Javascript
使用selenium抓取淘宝的商品信息实例
2018/02/06 Javascript
Vue入门之animate过渡动画效果
2018/04/08 Javascript
JS浅拷贝和深拷贝原理与实现方法分析
2019/02/28 Javascript
详解Vue项目引入CreateJS的方法(亲测可用)
2019/05/30 Javascript
js使用cookie实现记住用户名功能示例
2019/06/13 Javascript
解决layui table表单提示数据接口请求异常的问题
2019/09/24 Javascript
js实现双人五子棋小游戏
2020/05/28 Javascript
Python的一些用法分享
2012/10/07 Python
Python中pygame安装方法图文详解
2015/11/11 Python
flask框架实现连接sqlite3数据库的方法分析
2018/07/16 Python
如何利用python制作时间戳转换工具详解
2018/09/12 Python
Python sorted函数详解(高级篇)
2018/09/18 Python
python实现excel公式格式化的示例代码
2020/12/23 Python
详解HTML5 Canvas绘制时指定颜色与透明度的方法
2016/03/25 HTML / CSS
Laravel中Kafka的使用详解
2021/03/24 PHP
材料物理专业个人求职信
2013/12/15 职场文书
行政专员工作职责
2013/12/22 职场文书
《美丽的小兴安岭》教学反思
2014/02/26 职场文书
健康教育评估方案
2014/05/25 职场文书
英文演讲稿开场白
2014/08/25 职场文书
新员工辞职信范文
2015/05/12 职场文书
联村联户简报
2015/07/21 职场文书
《初涉尘世》读后感3篇
2020/01/10 职场文书
Python中相见恨晚的技巧
2021/04/13 Python
Kubernetes控制节点的部署
2022/04/01 Servers