Python基础教程之tcp socket编程详解及简单实例


Posted in Python onFebruary 23, 2017

Python tcp socket编程详解

初学脚本语言Python,测试可用的tcp通讯程序:

服务器:

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 
 
import socket 
import threading 
import time 
 
def tcplink(sock, addr): 
  print('Accept new connection from %s:%s...' % addr); 
  sock.send(b'Welcome!!!'); 
  while True: 
    data = sock.recv(1024); 
    time.sleep(1); 
    if not data or data.decode('utf-8') == 'exit': 
       break; 
    sock.send(b'Hello, %s!' % data); 
  sock.close(); 
  print('Connection from %s:%s closed.' % addr); 
 
 
if __name__ == "__main__": 
 
  s = socket.socket(socket.AF_INET, socket.SOCK_STREAM); 
 
  s.bind(('127.0.0.1', 9090)); 
  s.listen(8); #监听8个客户端; 
  print('waiting for connection...'); 
 
  while True: 
    sock, addr = s.accept(); 
    t = threading.Thread(target=tcplink, args=(sock,addr)); 
    t.start();

客户端:

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 
 
import socket 
 
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM); 
s.connect(('127.0.0.1', 9090)); 
print(s.recv(1024).decode('utf-8')); 
for data in [b'lk', b'aa', b'bb']: 
  s.send(data); 
  print(s.recv(1024).decode('utf-8')); 
s.send(b'exit'); 
s.close();

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Python 相关文章推荐
在Heroku云平台上部署Python的Django框架的教程
Apr 20 Python
python2 与 pyhton3的输入语句写法小结
Sep 10 Python
python将list转为matrix的方法
Dec 12 Python
详解用python写一个抽奖程序
May 10 Python
详解Python 切片语法
Jun 10 Python
15行Python代码实现免费发送手机短信推送消息功能
Feb 27 Python
Python 实现网课实时监控自动签到、打卡功能
Mar 12 Python
解决django中form表单设置action后无法回到原页面的问题
Mar 13 Python
keras 指定程序在某块卡上训练实例
Jun 22 Python
如何用python绘制雷达图
Apr 24 Python
 Python 中 logging 模块使用详情
Mar 03 Python
python DataFrame中stack()方法、unstack()方法和pivot()方法浅析
Apr 06 Python
Python命令启动Web服务器实例详解
Feb 23 #Python
Python 基础教程之包和类的用法
Feb 23 #Python
python安装oracle扩展及数据库连接方法
Feb 21 #Python
python安装cx_Oracle模块常见问题与解决方法
Feb 21 #Python
Python实现字符串格式化的方法小结
Feb 20 #Python
python爬虫实现教程转换成 PDF 电子书
Feb 19 #Python
Python 模块EasyGui详细介绍
Feb 19 #Python
You might like
php递归json类实例
2014/12/02 PHP
thinkPHP中验证码的简单使用方法
2015/12/26 PHP
PHP下载大文件失败并限制下载速度的实例代码
2019/05/10 PHP
Firefox 无法获取cssRules 的解决办法
2006/10/11 Javascript
使用jquery清空、复位整个输入域
2015/04/02 Javascript
js仿QQ中对联系人向左滑动、滑出删除按钮的操作
2016/04/07 Javascript
Yarn的安装与使用详细介绍
2016/10/25 Javascript
JS中使用 after 伪类清除浮动实例
2017/03/01 Javascript
jQuery Autocomplete简介_动力节点Java学院整理
2017/07/17 jQuery
javascript实现自由编辑图片代码详解
2019/06/21 Javascript
JavaScript实现像雪花一样的Hexaflake分形
2020/07/07 Javascript
全面解析js中的原型,原型对象,原型链
2021/01/25 Javascript
Python原始字符串(raw strings)用法实例
2014/10/13 Python
关于你不想知道的所有Python3 unicode特性
2014/11/28 Python
python单元测试unittest实例详解
2015/05/11 Python
Python搭建APNS苹果推送通知推送服务的相关模块使用指南
2016/06/02 Python
Python 专题四 文件基础知识
2017/03/20 Python
详解Python pygame安装过程笔记
2017/06/05 Python
在python中实现将一张图片剪切成四份的方法
2018/12/05 Python
对python requests发送json格式数据的实例详解
2018/12/19 Python
解析python实现Lasso回归
2019/09/11 Python
Python如何实现动态数组
2019/11/02 Python
python中判断数字是否为质数的实例讲解
2020/12/06 Python
Html5新标签解释及用法
2012/02/17 HTML / CSS
美国美妆网站:B-Glowing
2016/10/12 全球购物
英国街头品牌:Bee Inspired Clothing
2018/02/12 全球购物
eDreams加拿大:廉价航班、酒店和度假
2019/03/29 全球购物
小区门卫值班制度
2014/01/24 职场文书
80后职场人的职业生涯规划
2014/03/08 职场文书
新年寄语大全
2014/04/12 职场文书
2016学习医德医风心得体会
2016/01/25 职场文书
2016年八一建军节活动总结
2016/04/05 职场文书
复制别人的成功真的会成功吗?
2019/10/17 职场文书
Python字符串对齐方法使用(ljust()、rjust()和center())
2021/04/26 Python
Go 中的空白标识符下划线
2022/03/25 Golang
CSS实现背景图片全屏铺满自适应的3种方式
2022/07/07 HTML / CSS