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线程详解
Jun 24 Python
python实现稀疏矩阵示例代码
Jun 09 Python
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
Jul 11 Python
python实现杨辉三角思路
Jul 14 Python
一些Centos Python 生产环境的部署命令(推荐)
May 07 Python
使用Python快速搭建HTTP服务和文件共享服务的实例讲解
Jun 04 Python
python实现树的深度优先遍历与广度优先遍历详解
Oct 26 Python
Python xlwt模块使用代码实例
Jun 10 Python
pandas按条件筛选数据的实现
Feb 20 Python
python调用ffmpeg命令行工具便捷操作视频示例实现过程
Nov 01 Python
Python进程池与进程锁之语法学习
Apr 11 Python
python和C/C++混合编程之使用ctypes调用 C/C++的dll
Apr 29 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 COOKIE立即生效,不用刷新就可以使用
2011/03/09 PHP
php编程实现获取excel文档内容的代码实例
2011/06/28 PHP
PHP中使用cURL实现Get和Post请求的方法
2013/03/13 PHP
基于PHP遍历数组的方法汇总分析
2013/06/08 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
2017/01/24 PHP
php pdo操作数据库示例
2017/03/10 PHP
浅谈PHP5.6 与 PHP7.0 区别
2019/10/09 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
TP3.2框架分页相关实现方法分析
2020/06/03 PHP
php实现简单四则运算器
2020/11/29 PHP
Hutia 的 JS 代码集
2006/10/24 Javascript
javascript flash下fromCharCode和charCodeAt方法使用说明
2008/01/12 Javascript
jquery获得页面元素的坐标值实现思路及代码
2013/04/15 Javascript
详细分析使用AngularJS编程中提交表单的方式
2015/06/19 Javascript
详解JavaScript中的事件流和事件处理程序
2016/05/20 Javascript
Bootstrap框架结合jQuery仿百度换肤功能实例解析
2016/09/17 Javascript
简单理解js的prototype属性及使用
2016/12/07 Javascript
页面内锚点定位及跳转方法总结(推荐)
2019/04/24 Javascript
vue 表单之通过v-model绑定单选按钮radio
2019/05/13 Javascript
[07:49]2014DOTA2国际邀请赛 Newbee夺冠后采访xiao8坦言奖金会上交
2014/07/23 DOTA
Python中请使用isinstance()判断变量类型
2014/08/25 Python
深入讲解Java编程中类的生命周期
2016/02/05 Python
python实现应用程序在右键菜单中添加打开方式功能
2017/01/09 Python
Python面向对象之反射/自省机制实例分析
2018/08/24 Python
在python中使用requests 模拟浏览器发送请求数据的方法
2018/12/26 Python
Django csrf 两种方法设置form的实例
2019/02/03 Python
python实现快递价格查询系统
2020/03/03 Python
贝嫂喜欢的婴儿品牌,个性化的婴儿礼物:My 1st Years
2017/11/19 全球购物
造价工程师个人求职信
2013/09/21 职场文书
幼儿园亲子活动方案
2014/01/29 职场文书
幼儿教师工作感言
2014/02/14 职场文书
机械制造专业毕业生求职信
2014/03/02 职场文书
《路旁的橡树》教学反思
2014/04/07 职场文书
《大海那边》教学反思
2014/04/09 职场文书
2015年高校图书馆工作总结
2015/04/30 职场文书
Vue通过懒加载提升页面响应速度
2021/05/10 Vue.js