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 正则式 概述及常用字符
May 07 Python
easy_install python包安装管理工具介绍
Feb 10 Python
python同时给两个收件人发送邮件的方法
Apr 30 Python
windows10系统中安装python3.x+scrapy教程
Nov 08 Python
Python自定义函数定义,参数,调用代码解析
Dec 27 Python
详解tensorflow载入数据的三种方式
Apr 24 Python
Python实现通过继承覆盖方法示例
Jul 02 Python
实例介绍Python中整型
Feb 11 Python
python ChainMap 合并字典的实现步骤
Jun 11 Python
用python做游戏的细节详解
Jun 25 Python
Python udp网络程序实现发送、接收数据功能示例
Dec 09 Python
python处理写入数据代码讲解
Oct 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(2)
2006/10/09 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
2017/11/14 PHP
php操作redis命令及代码实例大全
2020/11/19 PHP
(推荐一个超好的JS函数库)S.Sams Lifexperience ScriptClassLib
2007/04/29 Javascript
跟着Jquery API学Jquery之一 选择器
2010/04/07 Javascript
jQuery中需要注意的细节问题小结
2011/12/06 Javascript
jquery 删除字符串最后一个字符的方法解析
2014/02/11 Javascript
javascript使用call调用微信API
2014/12/15 Javascript
js实现iframe框架取值的方法(兼容IE,firefox,chrome等)
2015/11/26 Javascript
javascript实现简单的全选和反选功能
2016/01/05 Javascript
jQuery图片前后对比插件beforeAfter用法示例【附demo源码下载】
2016/09/20 Javascript
详解React开发中使用require.ensure()按需加载ES6组件
2017/05/12 Javascript
Vue基于NUXT的SSR详解
2017/10/24 Javascript
PHP自动加载autoload和命名空间的应用小结
2017/12/01 Javascript
Vue使用高德地图搭建实时公交应用功能(地图 + 附近站点+线路详情 + 输入提示+换乘详情)
2018/05/16 Javascript
详解vue-cli官方脚手架配置
2018/07/20 Javascript
Vue执行方法,方法获取data值,设置data值,方法传值操作
2020/08/05 Javascript
[42:39]老党炸弹人试玩视频
2014/09/03 DOTA
Python3结合Dlib实现人脸识别和剪切
2018/01/24 Python
Python学习小技巧总结
2018/06/10 Python
Python3.5 Pandas模块之DataFrame用法实例分析
2019/04/23 Python
python使用原始套接字发送二层包(链路层帧)的方法
2019/07/22 Python
使用Python爬虫库requests发送表单数据和JSON数据
2020/01/25 Python
Python如何输出百分比
2020/07/31 Python
分享29个基于Bootstrap的HTML5响应式网页设计模板
2015/11/19 HTML / CSS
转党组织关系介绍信
2014/01/08 职场文书
本科毕业生求职自荐信
2014/04/09 职场文书
我爱读书演讲稿
2014/05/07 职场文书
大学自主招生推荐信
2014/05/10 职场文书
中职毕业生自我鉴定范文(3篇)
2014/09/28 职场文书
先进个人评语大全
2015/01/04 职场文书
2015年度校学生会工作总结报告
2015/05/23 职场文书
2016三八妇女节慰问信
2015/11/30 职场文书
XX部保密工作制度范本
2019/08/27 职场文书
导游词之泰山玉皇顶
2019/12/23 职场文书
Python opencv缺陷检测的实现及问题解决
2021/04/24 Python