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调用fortran模块
Apr 08 Python
Python使用Pycrypto库进行RSA加密的方法详解
Jun 06 Python
利用aardio给python编写图形界面
Aug 21 Python
python爬虫headers设置后无效的解决方法
Oct 21 Python
python交互式图形编程实例(三)
Nov 17 Python
Python获取CPU、内存使用率以及网络使用状态代码
Feb 08 Python
nohup后台启动Python脚本,log不刷新的解决方法
Jan 14 Python
基于MATLAB和Python实现MFCC特征参数提取
Aug 13 Python
numpy.array 操作使用简单总结
Nov 08 Python
Pytorch Tensor基本数学运算详解
Dec 30 Python
使用python的turtle函数绘制一个滑稽表情
Feb 28 Python
Keras-多输入多输出实例(多任务)
Jun 22 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下网站防IP攻击代码,超级实用
2010/10/24 PHP
Linux+Nginx+MySQL下配置论坛程序Discuz的基本教程
2015/12/23 PHP
php中实现字符串翻转的方法
2017/02/22 PHP
简单谈谈PHP中的trait
2017/02/25 PHP
微信推送功能实现方式图文详解
2019/07/12 PHP
使用TextRange获取输入框中光标的位置的代码
2007/03/08 Javascript
jquery获取一组checkbox的值(实例代码)
2013/11/04 Javascript
jQuery实现的图片分组切换焦点图插件
2015/01/06 Javascript
无刷新上传文件并返回自定义值
2015/06/11 Javascript
jquery遍历table的tr获取td的值实现方法
2016/05/19 Javascript
AngularJS表单详解及示例代码
2016/08/17 Javascript
JavaScript轻松创建级联函数的方法示例
2017/02/10 Javascript
Javascript实现信息滚动效果
2017/05/18 Javascript
Angularjs中使用轮播图指令swiper
2017/05/30 Javascript
JS实现移动端判断上拉和下滑功能
2017/08/07 Javascript
AngualrJs清除定时器遇到的坑
2017/10/13 Javascript
JavaScript实现数组全排列、去重及求最大值算法示例
2018/07/30 Javascript
详解如何在nuxt中添加proxyTable代理
2018/08/10 Javascript
jquery使用FormData实现异步上传文件
2018/10/25 jQuery
node微信开发之获取access_token+自定义菜单
2019/03/17 Javascript
jquery实现广告上下滚动效果
2021/03/04 jQuery
python使用循环实现批量创建文件夹示例
2014/03/25 Python
python打开url并按指定块读取网页内容的方法
2015/04/29 Python
python基础_文件操作实现全文或单行替换的方法
2017/09/04 Python
Python3.6.2调用ffmpeg的方法
2019/01/10 Python
python lambda函数及三个常用的高阶函数
2020/02/05 Python
HTML5标签使用方法详解
2015/11/27 HTML / CSS
英国高级百货公司:Harvey Nichols
2017/01/29 全球购物
Topshop美国官网:英国快速时尚品牌
2019/05/16 全球购物
十八届三中全会宣传方案
2014/02/21 职场文书
大学生社会实践自我鉴定
2014/03/24 职场文书
环卫处个人工作总结
2015/03/04 职场文书
小学教师节活动总结
2015/03/20 职场文书
2019年度行政文员工作计划范本!
2019/07/04 职场文书
Python中Cookies导出某站用户数据的方法
2021/05/17 Python
Springboot使用Spring Data JPA实现数据库操作
2021/06/30 Java/Android