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 10 Python
Python内置模块hashlib、hmac与uuid用法分析
Feb 12 Python
python读取一个目录下所有txt里面的内容方法
Jun 23 Python
Python实现将HTML转成PDF的方法分析
May 04 Python
Python搭建代理IP池实现获取IP的方法
Oct 27 Python
python和pywin32实现窗口查找、遍历和点击的示例代码
Apr 01 Python
pyqt5中动画的使用详解
Apr 01 Python
python读取yaml文件后修改写入本地实例
Apr 27 Python
Windows 下更改 jupyterlab 默认启动位置的教程详解
May 18 Python
为什么称python为胶水语言
Jun 16 Python
python获得命令行输入的参数的两种方式
Nov 02 Python
python中二分查找法的实现方法
Dec 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
PHP中实现汉字转区位码应用源码实例解析
2010/06/14 PHP
php数组函数序列之array_flip() 将数组键名与值对调
2011/11/07 PHP
PHP实现类似于C语言的文件读取及解析功能
2017/09/01 PHP
php中字符串和整数比较的操作方法
2019/06/06 PHP
JavaScript高级程序设计 XML、Ajax 学习笔记
2011/09/10 Javascript
容易被忽略的JS脚本特性
2011/09/13 Javascript
javascript 三种方法实现获得和设置以及移除元素属性
2013/03/20 Javascript
js获取光标位置和设置文本框光标位置示例代码
2014/01/09 Javascript
基于javascript实现仿百度输入框自动匹配功能
2016/01/03 Javascript
JavaScript实现Fly Bird小游戏
2016/12/15 Javascript
anime.js 实现带有描边动画效果的复选框(推荐)
2017/12/24 Javascript
Vue 过滤器filters及基本用法
2017/12/26 Javascript
vue axios 在页面切换时中断请求方法 ajax
2018/03/05 Javascript
vue实现axios图片上传功能
2019/08/20 Javascript
原生JS实现天气预报
2020/06/16 Javascript
js实现直播点击飘心效果
2020/08/19 Javascript
[33:39]DOTA2上海特级锦标赛C组小组赛#2 LGD VS Newbee第二局
2016/02/27 DOTA
Python字符串格式化输出方法分析
2016/04/13 Python
浅谈python中copy和deepcopy中的区别
2017/10/23 Python
浅谈pandas中DataFrame关于显示值省略的解决方法
2018/04/08 Python
python print 按逗号或空格分隔的方法
2018/05/02 Python
PyQt4实时显示文本内容GUI的示例
2019/06/14 Python
pyqt5 删除layout中的所有widget方法
2019/06/25 Python
flask框架单元测试原理与用法实例分析
2019/07/23 Python
Django stark组件使用及原理详解
2019/08/22 Python
python+django+rest框架配置创建方法
2019/08/31 Python
Python CSV文件模块的使用案例分析
2019/12/21 Python
tensorflow之并行读入数据详解
2020/02/05 Python
网页布局中CSS样式无效的十个重要原因详解
2017/08/10 HTML / CSS
amaze ui 的使用详细教程
2020/08/19 HTML / CSS
保卫钓鱼岛口号
2014/06/20 职场文书
高三霸气励志标语
2014/06/24 职场文书
2014年社区教育工作总结
2014/12/02 职场文书
2015年小学生自我评价范文
2015/03/03 职场文书
房贷工资证明范本
2015/06/12 职场文书
python not运算符的实例用法
2021/06/30 Python