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使用urllib模块和pyquery实现阿里巴巴排名查询
Jan 16 Python
python通过elixir包操作mysql数据库实例代码
Jan 31 Python
python爬虫之自动登录与验证码识别
Jun 15 Python
Python分割指定页数的pdf文件方法
Oct 26 Python
python使用PyQt5的简单方法
Feb 27 Python
在python 中split()使用多符号分割的例子
Jul 15 Python
python多进程下实现日志记录按时间分割
Jul 22 Python
详解程序意外中断自动重启shell脚本(以Python为例)
Jul 26 Python
Python进程Multiprocessing模块原理解析
Feb 28 Python
python3利用Axes3D库画3D模型图
Mar 25 Python
Python通过两个dataframe用for循环求笛卡尔积
Apr 29 Python
Django models文件模型变更错误解决
May 11 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动态创建Flash动画
2006/10/09 PHP
php获取从百度、谷歌等搜索引擎进入网站关键词的方法
2015/07/08 PHP
PHP基于SPL实现的迭代器模式示例
2018/04/22 PHP
JS控制表格隔行变色
2006/06/26 Javascript
Prototype最新版(1.5 rc2)使用指南(1)
2007/01/10 Javascript
让元素在网页中可拖动示例代码
2013/08/13 Javascript
jQuery的context属性用法实例
2014/12/27 Javascript
JS实现点击按钮后框架内载入不同网页的方法
2015/05/05 Javascript
js操作DOM--添加、删除节点的简单实例
2016/07/08 Javascript
基于vue.js路由参数的实例讲解——简单易懂
2017/09/07 Javascript
监控Nodejs的性能实例代码
2019/07/02 NodeJs
echarts大屏字体自适应的方法步骤
2019/07/12 Javascript
Python实现处理管道的方法
2015/06/04 Python
python 读写txt文件 json文件的实现方法
2016/10/22 Python
Python中执行存储过程及获取存储过程返回值的方法
2017/10/07 Python
python 定时修改数据库的示例代码
2018/04/08 Python
python+pandas分析nginx日志的实例
2018/04/28 Python
python实现图片彩色转化为素描
2019/01/15 Python
Python控制Firefox方法总结
2019/06/03 Python
在PYQT5中QscrollArea(滚动条)的使用方法
2019/06/14 Python
PyQt5 在label显示的图片中绘制矩形的方法
2019/06/17 Python
解决pycharm同一目录下无法import其他文件
2020/02/12 Python
Python动态导入模块和反射机制详解
2020/02/18 Python
Python可以实现栈的结构吗
2020/05/27 Python
Pycharm常用快捷键总结及配置方法
2020/11/14 Python
python 监控服务器是否有人远程登录(详细思路+代码)
2020/12/18 Python
CSS3属性box-sizing使用指南
2014/12/09 HTML / CSS
利用CSS3的transition属性实现滑动效果
2015/08/05 HTML / CSS
html5+svg学习指南之SVG基础知识
2014/12/17 HTML / CSS
思想政治自我鉴定
2013/10/06 职场文书
高中课前三分钟演讲稿
2014/08/18 职场文书
故宫英文导游词
2015/01/31 职场文书
药品销售内勤岗位职责
2015/04/13 职场文书
2015年网络舆情工作总结
2015/07/24 职场文书
孙振耀退休感言
2015/08/01 职场文书
小学科学课教学反思
2016/02/23 职场文书