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实现协同过滤推荐算法完整代码示例
Dec 15 Python
python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
Apr 01 Python
使用Python计算玩彩票赢钱概率
Jun 26 Python
Django中自定义模型管理器(Manager)及方法
Sep 23 Python
Python django框架输入汉字,数字,字符生成二维码实现详解
Sep 24 Python
Django和Flask框架优缺点对比
Oct 24 Python
Python实现图片识别加翻译功能
Dec 26 Python
使用 tf.nn.dynamic_rnn 展开时间维度方式
Jan 21 Python
使用openCV去除文字中乱入的线条实例
Jun 02 Python
python speech模块的使用方法
Sep 09 Python
python 利用panda 实现列联表(交叉表)
Feb 06 Python
利用Python实现翻译HTML中的文本字符串
Jun 21 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
异世界新番又来了,同样是从零开始,男主的年龄降到5岁
2020/04/09 日漫
php curl_init函数用法
2014/01/31 PHP
php顺序查找和二分查找示例
2014/03/27 PHP
PHP中array_keys和array_unique函数源码的分析
2016/02/26 PHP
ucenter中词语过滤原理分析
2016/07/13 PHP
360搜索引擎自动收录php改写方案
2018/04/28 PHP
js游戏人物上下左右跑步效果代码分享
2015/08/28 Javascript
jquery京东商城双11焦点图多图广告特效代码分享
2015/09/06 Javascript
javascript三种代码注释方法
2016/06/02 Javascript
全面了解构造函数继承关键apply call
2016/07/26 Javascript
js 单引号替换成双引号,双引号替换成单引号的实现方法
2017/02/16 Javascript
Angular.js中处理页面闪烁的方法详解
2017/03/09 Javascript
JSONP基础知识详解
2017/03/19 Javascript
javascript实现滑动解锁功能
2017/03/22 Javascript
解决vue组件中使用v-for出现告警问题及v for指令介绍
2017/11/11 Javascript
vue裁切预览组件功能的实现步骤
2018/05/04 Javascript
微信小程序实现搜索功能并跳转搜索结果页面
2019/05/18 Javascript
JS画布动态实现黑客帝国背景效果
2020/11/08 Javascript
[01:45]2014DOTA2 TI预选赛预选赛 大神专访第二弹!
2014/05/20 DOTA
Python3.x中自定义比较函数
2015/04/24 Python
解读! Python在人工智能中的作用
2017/11/14 Python
Python2包含中文报错的解决方法
2018/07/09 Python
PythonWeb项目Django部署在Ubuntu18.04腾讯云主机上
2019/04/01 Python
Python3实现的旋转矩阵图像算法示例
2019/04/03 Python
python中for循环变量作用域及用法详解
2019/11/05 Python
python 实现二维字典的键值合并等函数
2019/12/06 Python
Python requests设置代理的方法步骤
2020/02/23 Python
利用css3径向渐变做一张优惠券的示例
2018/03/22 HTML / CSS
父亲的菜园教学反思
2014/02/13 职场文书
初中班主任寄语
2014/04/04 职场文书
安全目标责任书
2014/07/22 职场文书
大学生第一学年自我鉴定2015
2014/09/28 职场文书
离婚协议书的范本
2015/01/27 职场文书
消防隐患整改通知书
2015/04/22 职场文书
母亲去世追悼词
2015/06/23 职场文书
MySQL中LAG()函数和LEAD()函数的使用
2022/08/14 MySQL