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入门篇之正则表达式
Oct 20 Python
用Python编写一个每天都在系统下新建一个文件夹的脚本
May 04 Python
Python cookbook(数据结构与算法)让字典保持有序的方法
Feb 18 Python
利用Python代码实现数据可视化的5种方法详解
Mar 25 Python
Python基于多线程实现抓取数据存入数据库的方法
Jun 22 Python
解决django后台样式丢失,css资源加载失败的问题
Jun 11 Python
python中的global关键字的使用方法
Aug 20 Python
Python 字符串、列表、元组的截取与切片操作示例
Sep 17 Python
Pytorch 实现权重初始化
Dec 31 Python
python多进程 主进程和子进程间共享和不共享全局变量实例
Apr 25 Python
python实时监控logstash日志代码
Apr 27 Python
Python实现疫情通定时自动填写功能(附代码)
May 27 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中的串行化变量和序列化对象
2006/09/05 PHP
PHP写的求多项式导数的函数代码
2012/07/04 PHP
php单例模式示例分享
2015/02/12 PHP
谈谈 PHP7新增功能
2015/12/16 PHP
PHP文件缓存smarty模板应用实例分析
2016/02/26 PHP
PHP模块化安装教程
2016/06/01 PHP
PHP中非常有用却鲜有人知的函数集锦
2019/08/17 PHP
Javascript 中的 call 和 apply使用介绍
2012/02/22 Javascript
Backbone.js框架中简单的View视图编写学习笔记
2016/02/14 Javascript
AngularJs实现分页功能不带省略号的代码
2016/05/30 Javascript
layer实现弹窗提交信息
2016/12/12 Javascript
jQuery实现加入收藏夹功能(主流浏览器兼职)
2016/12/24 Javascript
关于在vue 中使用百度ueEditor编辑器的方法实例代码
2018/09/14 Javascript
Echart折线图手柄触发事件示例详解
2018/12/16 Javascript
如何从0开始用node写一个自己的命令行程序
2018/12/29 Javascript
一篇文章,教你学会Vue CLI 插件开发
2019/04/17 Javascript
vue引用外部JS的两种种方法
2020/01/28 Javascript
探索浏览器页面关闭window.close()的使用详解
2020/08/21 Javascript
Element-ui el-tree新增和删除节点后如何刷新tree的实例
2020/08/31 Javascript
基于python的字节编译详解
2017/09/20 Python
解决PyCharm不运行脚本,而是运行单元测试的问题
2019/01/17 Python
Django和Flask框架优缺点对比
2019/10/24 Python
CSS3+js实现简单的时钟特效
2015/03/18 HTML / CSS
HTML5 本地存储 LocalStorage详解
2016/06/24 HTML / CSS
Jogun Shop中文官网:韩国知名时尚男装网站
2016/10/12 全球购物
罗兰·穆雷官网:Roland Mouret
2018/09/28 全球购物
全球立体声:World Wide Stereo
2018/09/29 全球购物
企业行政文员岗位职责
2013/12/03 职场文书
《最大的“书”》教学反思
2014/02/14 职场文书
2014年公司植树节活动方案
2014/03/04 职场文书
2014年大学生党课心得体会范文
2014/03/29 职场文书
公司合作协议书范本
2014/04/18 职场文书
房产公证书
2015/01/23 职场文书
2015年前台个人工作总结
2015/04/03 职场文书
小学德育工作总结2015
2015/05/12 职场文书
MySQL 中如何归档数据的实现方法
2022/03/16 SQL Server