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使用wxPython打开并播放wav文件的方法
Apr 24 Python
在Python中marshal对象序列化的相关知识
Jul 01 Python
python搭建微信公众平台
Feb 09 Python
Pythont特殊语法filter,map,reduce,apply使用方法
Feb 27 Python
Python抓取电影天堂电影信息的代码
Apr 07 Python
使用python绘制常用的图表
Aug 27 Python
Python中int()函数的用法浅析
Oct 17 Python
浅谈django orm 优化
Aug 18 Python
Numpy的简单用法小结
Aug 28 Python
Python 实现Numpy中找出array中最大值所对应的行和列
Nov 26 Python
Python xlwt模块使用代码实例
Jun 10 Python
序列化Python对象的方法
Aug 01 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
一首老MP3,致敬WAR3经典
2021/03/08 魔兽争霸
用PHP读取flv文件的播放时间长度
2009/09/03 PHP
PHP-Fcgi下PHP的执行时间设置方法
2013/08/02 PHP
YII2框架中使用RBAC对模块,控制器,方法的权限控制及规则的使用示例
2020/03/18 PHP
JSQL 批量图片切换的实现代码
2010/05/05 Javascript
JavaScript中两个感叹号的作用说明
2011/12/28 Javascript
禁止ajax缓存获取程序最新数据的方法
2013/11/19 Javascript
jquery实现可拖动DIV自定义保存到数据的实例
2013/11/20 Javascript
JavaScript在Android的WebView中parseInt函数转换不正确问题解决方法
2015/04/25 Javascript
为何JS操作的href都是javascript:void(0);呢
2015/11/12 Javascript
基于Vue实现tab栏切换内容不断实时刷新数据功能
2017/04/13 Javascript
js实现canvas图片与img图片的相互转换的示例
2017/08/31 Javascript
Windows下使用Nodejs运行js的方法
2017/09/02 NodeJs
vue中实现在外部调用methods的方法(推荐)
2018/02/08 Javascript
Vue+webpack项目基础配置教程
2018/02/12 Javascript
js如何获取访问IP、地区、当前操作浏览器
2019/07/23 Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
2019/09/21 Javascript
js 使用ajax设置和获取自定义header信息的方法小结
2020/03/12 Javascript
[04:03]2014DOTA2西雅图国际邀请赛 LGD战队巡礼
2014/07/07 DOTA
Python中的ceil()方法使用教程
2015/05/14 Python
对python pandas读取剪贴板内容的方法详解
2019/01/24 Python
python openpyxl使用方法详解
2019/07/18 Python
详解numpy矩阵的创建与数据类型
2019/10/18 Python
将 Ubuntu 16 和 18 上的 python 升级到最新 python3.8 的方法教程
2020/03/11 Python
简述Html5 IphoneX 适配方法
2018/02/08 HTML / CSS
GUESS德国官网:美国牛仔服装品牌
2017/02/14 全球购物
Notino匈牙利:购买香水和化妆品
2019/04/12 全球购物
英国地毯卖家:The Rug Seller
2019/07/18 全球购物
Kickers鞋英国官网:男士、女士和儿童鞋
2021/03/08 全球购物
C和C++经典笔试题附答案解析
2014/08/18 面试题
.NET remoting中对象激活的两种方式
2015/06/08 面试题
物流管理系毕业生求职信
2014/06/03 职场文书
作风年建设汇报材料
2014/08/14 职场文书
税务干部个人整改措施思想汇报
2014/10/10 职场文书
分享Python获取本机IP地址的几种方法
2022/03/17 Python
SpringBoot全局异常处理方案分享
2022/05/25 Java/Android