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 相关文章推荐
OpenCV实现人脸识别
Apr 07 Python
[原创]python爬虫(入门教程、视频教程)
Jan 08 Python
Python实现的寻找前5个默尼森数算法示例
Mar 25 Python
python将txt等文件中的数据读为numpy数组的方法
Dec 22 Python
详解Python传入参数的几种方法
May 16 Python
python读取目录下所有的jpg文件,并显示第一张图片的示例
Jun 13 Python
django 2.2和mysql使用的常见问题
Jul 18 Python
Python3 chardet模块查看编码格式的例子
Aug 14 Python
python利用JMeter测试Tornado的多线程
Jan 12 Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
Feb 29 Python
python+pygame实现坦克大战小游戏的示例代码(可以自定义子弹速度)
Aug 11 Python
python模拟浏览器 使用selenium进入好友QQ空间并留言
Apr 12 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面向对象编程快速入门
2006/10/09 PHP
php !function_exists("T7FC56270E7A70FA81A5935B72EACBE29"))代码解密
2011/01/07 PHP
php中explode与split的区别介绍
2012/10/03 PHP
PHP学习笔记(二) 了解PHP的基本语法以及目录结构
2014/08/04 PHP
PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
2019/11/04 PHP
统计出现最多的字符次数的js代码
2010/12/03 Javascript
根据一段代码浅谈Javascript闭包
2010/12/14 Javascript
Extjs单独定义各组件的实例代码
2013/06/25 Javascript
文件编码导致jquery失效的解决方法
2013/06/26 Javascript
jquery中push()的用法(数组添加元素)
2014/11/25 Javascript
简介JavaScript中的sub()方法的使用
2015/06/08 Javascript
js计算文本框输入的字符数
2015/10/23 Javascript
Angular 页面跳转时传参问题
2016/08/01 Javascript
Angularjs手动解析表达式($parse)
2016/10/12 Javascript
老生常谈js-react组件生命周期
2017/05/02 Javascript
vue实现百度搜索下拉提示功能实例
2017/06/14 Javascript
vue 自定义 select内置组件
2018/04/10 Javascript
使用javascript做在线算法编程
2018/05/25 Javascript
解决vuecli3.0热更新失效的问题
2018/09/19 Javascript
Vue页面刷新记住页面状态的实现
2019/12/27 Javascript
JS实现选项卡插件的两种写法(jQuery和class)
2020/12/30 jQuery
解决Python requests 报错方法集锦
2017/03/19 Python
python算法演练_One Rule 算法(详解)
2017/05/17 Python
Python爬取视频(其实是一篇福利)过程解析
2019/08/01 Python
Python实现查找数据库最接近的数据
2020/06/08 Python
pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作)
2020/06/24 Python
解决c++调用python中文乱码问题
2020/07/29 Python
日本最大美瞳直送网:Morecontact(中文)
2019/04/03 全球购物
德国游戏机商店:Konsolenkost
2019/12/08 全球购物
法务专员岗位职责
2014/01/02 职场文书
关于赌博的检讨书
2014/01/08 职场文书
学生爱国演讲稿
2014/01/14 职场文书
Nginx反向代理配置的全过程记录
2021/06/22 Servers
Canvas绘制像素风图片的示例代码
2021/09/25 HTML / CSS
Python 阶乘详解
2021/10/05 Python
Win11显卡控制面板打开显卡设置方法
2022/04/20 数码科技