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生成日历实例解析
Aug 21 Python
详解Python使用simplejson模块解析JSON的方法
Mar 24 Python
Python基于分析Ajax请求实现抓取今日头条街拍图集功能示例
Jul 19 Python
使用Python+wxpy 找出微信里把你删除的好友实例
Feb 21 Python
Python面向对象程序设计类的多态用法详解
Apr 12 Python
python数据类型之间怎么转换技巧分享
Aug 20 Python
python实现多线程端口扫描
Aug 31 Python
python实现简单成绩录入系统
Sep 19 Python
python科学计算之scipy——optimize用法
Nov 25 Python
Python 多线程共享变量的实现示例
Apr 17 Python
Python实现Word文档转换Markdown的示例
Dec 22 Python
Python实现Matplotlib,Seaborn动态数据图
May 06 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
比file_get_contents稳定的curl_get_contents分享
2012/01/11 PHP
php上传apk后自动提取apk包信息的使用(示例下载)
2013/04/26 PHP
php上传图片到指定位置路径保存到数据库的具体实现
2013/12/30 PHP
Thinkphp中import的几个用法详细介绍
2014/07/02 PHP
PHP云打印类完整示例
2016/10/15 PHP
PHP读取zip文件的方法示例
2016/11/17 PHP
php面试实现反射注入的详细方法
2019/09/30 PHP
读jQuery之十三 添加事件和删除事件的核心方法
2011/08/23 Javascript
封装了一个js图片轮换效果的函数
2011/09/28 Javascript
JS中Iframe之间传值的方法
2013/03/11 Javascript
js获得地址栏?问号后参数的方法
2013/08/08 Javascript
js中switch case循环实例代码
2013/12/30 Javascript
JavaScript中统计Textarea字数并提示还能输入的字符
2014/06/10 Javascript
JavaScript对象属性检查、增加、删除、访问操作实例
2015/07/08 Javascript
node.js报错:Cannot find module 'ejs'的解决办法
2016/12/14 Javascript
Vue实现选择城市功能
2017/05/27 Javascript
python爬取安居客二手房网站数据(实例讲解)
2017/10/19 Javascript
JS删除数组里的某个元素方法
2018/02/03 Javascript
fetch 如何实现请求数据
2018/12/20 Javascript
使用mixins实现elementUI表单全局验证的解决方法
2019/04/02 Javascript
javascript+css实现进度条效果
2020/03/25 Javascript
[47:36]Optic vs Newbee 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python实现两款计算器功能示例
2017/12/19 Python
扩展Django admin的list_filter()可使用范围方法
2019/08/21 Python
python中对_init_的理解及实例解析
2019/10/11 Python
python GUI库图形界面开发之PyQt5打印控件QPrinter详细使用方法与实例
2020/02/28 Python
Python Socketserver实现FTP文件上传下载代码实例
2020/03/27 Python
python模拟斗地主发牌
2020/04/22 Python
Tensorflow中的图(tf.Graph)和会话(tf.Session)的实现
2020/04/22 Python
python函数调用,循环,列表复制实例
2020/05/03 Python
基于Python爬虫采集天气网实时信息
2020/06/05 Python
用python 绘制茎叶图和复合饼图
2021/02/26 Python
Html5 postMessage实现跨域消息传递
2016/03/11 HTML / CSS
辞职信格式模板
2015/02/27 职场文书
MySQL Threads_running飙升与慢查询的相关问题解决
2021/05/08 MySQL
python中的getter与setter你了解吗
2022/03/24 Python