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 输出一个两行字符的变量
Feb 05 Python
基python实现多线程网页爬虫
Sep 06 Python
python与php实现分割文件代码
Mar 06 Python
基于Python和Scikit-Learn的机器学习探索
Oct 16 Python
Python 模拟员工信息数据库操作的实例
Oct 23 Python
python中利用zfill方法自动给数字前面补0
Apr 10 Python
Numpy 将二维图像矩阵转换为一维向量的方法
Jun 05 Python
Numpy截取指定范围内的数据方法
Nov 14 Python
在Python中COM口的调用方法
Jul 03 Python
python实现通过队列完成进程间的多任务功能示例
Oct 28 Python
python 如何读、写、解析CSV文件
Mar 03 Python
Pandas 数据编码的十种方法
Apr 20 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 FPDF类库应用实现代码
2009/03/20 PHP
PHP实现上传多图即时显示与即时删除的方法
2017/05/09 PHP
asp函数split()对应php函数explode()
2019/02/27 PHP
PHP面向对象程序设计__tostring()和__invoke()用法分析
2019/06/12 PHP
JavaScript 调试器简介
2009/02/21 Javascript
javascript之querySelector和querySelectorAll使用介绍
2011/12/20 Javascript
正则表达式优化JSON字符串的技巧
2015/12/24 Javascript
javascript生成img标签的3种实现方法(对象、方法、html)
2015/12/25 Javascript
jQuery解析与处理服务器端返回xml格式数据的方法详解
2016/07/04 Javascript
javascript实现获取指定精度的上传文件的大小简单实例
2016/10/25 Javascript
js判断PC端与移动端跳转
2020/12/24 Javascript
Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程
2017/05/07 Javascript
Bootstrap Tree View简单而优雅的树结构组件实例解析
2017/06/15 Javascript
Javascript中prototype与__proto__的关系详解
2018/03/11 Javascript
JavaScript数组及常见操作方法小结
2019/11/13 Javascript
微信小程序wxs实现吸顶效果
2020/01/08 Javascript
js实现飞机大战小游戏
2020/08/26 Javascript
[01:14:34]DOTA2上海特级锦标赛C组资格赛#2 LGD VS Newbee第一局
2016/02/28 DOTA
Python3.X 线程中信号量的使用方法示例
2017/07/24 Python
python实现对图片进行旋转,放缩,裁剪的功能
2019/08/07 Python
python多维数组分位数的求取方式
2020/03/03 Python
python实现在内存中读写str和二进制数据代码
2020/04/24 Python
详解python中GPU版本的opencv常用方法介绍
2020/07/24 Python
Python下载的11种姿势(小结)
2020/11/18 Python
python压包的概念及实例详解
2021/02/17 Python
使用css实现android系统的loading加载动画
2019/07/25 HTML / CSS
澳大利亚实惠时尚女装商店:Katies
2019/06/16 全球购物
美发店5.1活动方案
2014/01/24 职场文书
三项教育活动实施方案
2014/03/30 职场文书
幼儿教师寄语集锦
2014/04/03 职场文书
校庆标语集锦
2014/06/25 职场文书
电话客服专员岗位职责
2014/06/28 职场文书
规范化管理年活动总结
2014/08/29 职场文书
2014年幼儿园班级工作总结
2014/12/17 职场文书
寒山寺导游词
2015/02/03 职场文书
绵山导游词
2015/02/05 职场文书