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实现图片滑动式验证识别方法
Nov 09 Python
python re模块findall()函数实例解析
Jan 19 Python
TensorFlow实现Batch Normalization
Mar 08 Python
Python 删除整个文本中的空格,并实现按行显示
Jul 24 Python
Python subprocess库的使用详解
Oct 26 Python
Python面向对象类编写细节分析【类,方法,继承,超类,接口等】
Jan 05 Python
python opencv调用笔记本摄像头
Aug 28 Python
Python Opencv提取图片中某种颜色组成的图形的方法
Sep 19 Python
pytorch中的transforms模块实例详解
Dec 31 Python
解决Tensorflow 使用时cpu编译不支持警告的问题
Feb 03 Python
Java如何基于wsimport调用wcf接口
Jun 17 Python
PyCharm2020.3.2安装超详细教程
Feb 08 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分页类的代码
2011/05/18 PHP
Laravel-添加后台模板AdminLte的实现方法
2019/10/08 PHP
js调用AJAX时Get和post的乱码解决方法
2013/06/04 Javascript
javascript中全局对象的isNaN()方法使用介绍
2013/12/19 Javascript
JavaScript实现选择框按比例拖拉缩放的方法
2015/08/04 Javascript
jQuery随手笔记之常用的jQuery操作DOM事件
2015/11/29 Javascript
DOM操作和jQuery实现选项移动操作的简单实例
2016/06/07 Javascript
jQuery Ajax使用FormData对象上传文件的方法
2016/09/07 Javascript
微信端开发--登录小程序步骤
2017/01/11 Javascript
对angular2中的ngfor和ngif指令嵌套实例讲解
2018/09/12 Javascript
在vue中使用express-mock搭建mock服务的方法
2018/11/07 Javascript
JS实现分页导航效果
2020/02/19 Javascript
vue实现一个6个输入框的验证码输入组件功能的实例代码
2020/06/29 Javascript
JS字符串和数组如何实现相互转化
2020/07/02 Javascript
基于javascript的无缝滚动动画实现2
2020/08/07 Javascript
[02:33]2018 DOTA2亚洲邀请赛回顾视频 再次拾起那些美妙的时刻
2018/04/10 DOTA
python实现simhash算法实例
2014/04/25 Python
python爬虫入门教程之点点美女图片爬虫代码分享
2014/09/02 Python
解析Python中的生成器及其与迭代器的差异
2016/06/20 Python
python时间日期函数与利用pandas进行时间序列处理详解
2018/03/13 Python
Python基础教程之利用期物处理并发
2018/03/29 Python
Python操作Oracle数据库的简单方法和封装类实例
2018/05/07 Python
Python获取系统所有进程PID及进程名称的方法示例
2018/05/24 Python
django+mysql的使用示例
2018/11/23 Python
很酷的python表白工具 你喜欢我吗
2019/04/11 Python
python读取yaml文件后修改写入本地实例
2020/04/27 Python
HTML5 canvas实现的静态循环滚动播放弹幕
2021/01/05 HTML / CSS
美国地毯购买网站:Rugs USA
2019/02/23 全球购物
linux比较文件内容的命令是什么
2015/09/23 面试题
大学校庆邀请函
2014/01/11 职场文书
大二学期个人自我评价
2014/01/13 职场文书
酒店保安领班职务说明书
2014/03/04 职场文书
大一学生职业生涯规划
2014/03/11 职场文书
基层党员对照检查材料
2014/08/25 职场文书
闪闪的红星观后感
2015/06/08 职场文书
JS前端使用canvas实现物体的点选示例
2022/08/05 Javascript