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 相关文章推荐
举例讲解Python编程中对线程锁的使用
Jul 12 Python
Python正则表达式经典入门教程
May 22 Python
python实现杨辉三角思路
Jul 14 Python
Python实现的用户登录系统功能示例
Feb 05 Python
浅析python实现scrapy定时执行爬虫
Mar 04 Python
python使用turtle库与random库绘制雪花
Jun 22 Python
python中类的属性和方法介绍
Nov 27 Python
Python设计模式之备忘录模式原理与用法详解
Jan 15 Python
Python使用Pandas库常见操作详解
Jan 16 Python
Python抓包程序mitmproxy安装和使用过程图解
Mar 02 Python
Python WebSocket长连接心跳与短连接的示例
Nov 24 Python
Python读取图像并显示灰度图的实现
Dec 01 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 网络开发详解之远程文件包含漏洞
2010/04/25 PHP
PHP批量采集下载美女图片的实现代码
2013/06/03 PHP
PHP基于数组实现的分页函数实例
2014/08/20 PHP
PHP生成唯一订单号的方法汇总
2015/04/16 PHP
javascript的数据类型、字面量、变量介绍
2012/05/23 Javascript
THREE.JS入门教程(2)着色器-上
2013/01/24 Javascript
Javascript基础教程之argument 详解
2015/01/18 Javascript
javascript 动态创建表格的2种方法总结
2015/03/04 Javascript
JavaScript DOM事件(笔记)
2015/04/08 Javascript
JavaScript实现横向滑出的多级菜单效果
2015/10/09 Javascript
JavaScript实现的MD5算法完整实例
2016/02/02 Javascript
jQuery 特性操作详解及实例代码
2016/09/29 Javascript
JQuery页面随滚动条动态加载效果的简单实现(推荐)
2017/02/08 Javascript
基于BootStrap的前端分页带省略号和上下页效果
2017/05/18 Javascript
基于bootstrop常用类总结(推荐)
2017/09/11 Javascript
angular5 子组件监听父组件传入值的变化方法
2018/09/30 Javascript
jquery+ajax实现上传图片并显示上传进度功能【附php后台接收】
2019/06/06 jQuery
微信小程序实现轨迹回放的示例代码
2019/12/13 Javascript
echarts实现折线图的拖拽效果
2019/12/19 Javascript
基于python的Tkinter实现一个简易计算器
2015/12/31 Python
基于python的ini配置文件操作工具类
2019/04/24 Python
Python3操作Excel文件(读写)的简单实例
2019/09/02 Python
Python matplotlib实时画图案例
2020/04/23 Python
纯DOM+CSS3实现简单的小风车动画
2016/09/27 HTML / CSS
深入浅出CSS3 background-clip,background-origin和border-image教程
2011/01/27 HTML / CSS
css3实现可滑动跳转的分页插件示例
2014/05/08 HTML / CSS
戴尔新加坡官网:Dell Singapore
2020/12/13 全球购物
毕业生求职简历中的自我评价
2013/10/18 职场文书
个人近期表现材料
2014/02/11 职场文书
企业安全生产责任书
2014/04/14 职场文书
影视广告专业求职信
2014/09/02 职场文书
幼儿园小班个人总结
2015/02/12 职场文书
2015迎新晚会开场白
2015/05/29 职场文书
培根随笔读书笔记
2015/07/01 职场文书
python 进阶学习之python装饰器小结
2021/09/04 Python
JavaScript最完整的深浅拷贝实现方式详解
2022/02/28 Javascript