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脚本
Sep 01 Python
python实现通过shelve修改对象实例
Sep 26 Python
简单的抓取淘宝图片的Python爬虫
Dec 25 Python
遍历python字典几种方法总结(推荐)
Sep 11 Python
django实现前后台交互实例
Aug 07 Python
pandas series序列转化为星期几的实例
Apr 11 Python
在windows下Python打印彩色字体的方法
May 15 Python
详解重置Django migration的常见方式
Feb 15 Python
Python3.5以上版本lxml导入etree报错的解决方案
Jun 26 Python
python中如何使用insert函数
Jan 09 Python
Python破解BiliBili滑块验证码的思路详解(完美避开人机识别)
Feb 17 Python
Python如何执行系统命令
Sep 23 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
ThinkPHP Mobile使用方法简明教程
2014/06/18 PHP
php模仿asp Application对象在线人数统计实现方法
2015/01/04 PHP
PHP合并discuz用户脚本的方法
2015/08/04 PHP
PHP实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】
2017/11/16 PHP
Javascript中的var_dump函数实现代码
2009/09/07 Javascript
jquery实现submit提交表单
2015/02/03 Javascript
JS实现很酷的水波文字特效实例
2015/02/26 Javascript
Javascript中的Callback方法浅析
2015/03/15 Javascript
jQuery实现强制cookie过期方法汇总
2015/05/22 Javascript
Angularjs实现带查找筛选功能的select下拉框示例代码
2016/10/04 Javascript
Vue响应式添加、修改数组和对象的值
2017/03/20 Javascript
Vue响应式原理详解
2017/04/18 Javascript
jQuery实现选中行变色效果(实例讲解)
2017/07/06 jQuery
javascript json字符串到json对象转义问题
2019/01/22 Javascript
详解用vue2.x版本+adminLTE开源框架搭建后台应用模版
2019/03/15 Javascript
jQuery+ajax实现批量删除功能完整示例
2019/06/06 jQuery
微信小程序组件生命周期的踩坑记录
2021/03/03 Javascript
Python中文件遍历的两种方法
2014/06/16 Python
python去除所有html标签的方法
2015/05/05 Python
Python将阿拉伯数字转换为罗马数字的方法
2015/07/10 Python
深入浅出学习python装饰器
2017/09/29 Python
Python常见的pandas用法demo示例
2019/03/16 Python
django框架单表操作之增删改实例分析
2019/12/16 Python
python绘制雪景图
2019/12/16 Python
Python xlrd excel文件操作代码实例
2020/03/10 Python
工程测量与监理专业应届生求职信
2013/11/27 职场文书
高校教师思想汇报
2014/01/11 职场文书
写自荐信三大法宝
2014/01/24 职场文书
白酒市场营销方案
2014/02/25 职场文书
校园文化艺术节宣传标语
2014/10/09 职场文书
政风行风评议个人心得体会
2014/10/29 职场文书
海上钢琴师观后感
2015/06/03 职场文书
2020年元旦晚会策划书模板
2019/12/30 职场文书
Python基础之元类详解
2021/04/29 Python
vue实现可以快进后退的跑马灯组件
2022/04/08 Vue.js
Java界面编程实现界面跳转
2022/06/16 Java/Android