当前位置: 首页 > 编程日记 > 正文

Socket-实例

import socket,os,time
server = socket.socket()
server.bind(("localhost",9999))
server.listen()while True:conn,addr=server.accept()print("new conn",addr)while True:print("等待新指令")data =conn.recv(1024)if not  data:print("客户端已断开!")breakprint("执行命令:",data)cmd_res = os.popen(data.decode()).read()#接收字符串,执行结果也是字符串print("before send",len(cmd_res))if len(cmd_res) == 0:cmd_res = "cmd has no output..."conn.send(str(len(cmd_res.encode())).encode("utf-8")) #先发大小给客户端#time.sleep(0.5)client_ack =conn.recv(1024)#wait client to confirm 防止粘包conn.send(cmd_res.encode("utf-8"))print("send done")server.close()

上面是服务端socket_server.py

import socket
client =socket.socket()
client.connect(("localhost",9999))while True:cmd = input(">>:").strip()if len(cmd)==0:continueclient.send(cmd.encode("utf-8"))cmd_res_size =client.recv(1024)#接收命令结果的长度print("命令结果大小:",cmd_res_size)client.send("准备好接收了,loser可以发了".encode("utf-8"))#防止粘包received_size=0received_data=b''while received_size < int(cmd_res_size.decode()):data =client.recv(1024)received_size +=len(data)#每次收到的有可能小于1024,所以用len判断received_data +=dataelse:print("cmd res receive done...",received_size)print(received_data.decode())
client.close()

上面是客户端socket_client.py

转载于:https://www.cnblogs.com/fuyuteng/p/9129425.html

相关文章:

kcachegrind安装

http://kcachegrind.sourceforge.net/cgi-bin/show.cgi/KcacheGrindDownload http://hi.baidu.com/wangxinhui419/blog/item/4a7409c78c22b4c8d100608a.html http://wxiner.blog.sohu.com/156841393.html说明&#xff1a;linux下如果安装不上&#xff0c;直接下载windows版的吧…

Java【小考】

课上&#xff0c; 老师出了一个题: 考察&#xff1a;1、类的定义 2、类的属性 3、类的方法、重载、构造方法、代码块 题目是这样的&#xff1a; 设计 一个 类&#xff1a;Tree 要求&#xff1a; 1、包含main方法 2、属性&#xff1a;静态&#xff1a; String name ; double hei…

首个深度强化学习AI,能控制核聚变,成功登上《Nature》

编译 | 禾木木 出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09; 最近&#xff0c;DeepMind 开发出了世界上第一个深度强化学习 AI &#xff0c;可以在模拟环境和真正的核聚变装置中实现对等离子体的自主控制。 这项研究成果登上了《Nature》杂志。 托卡马克是一种用于…

windows下安装mysql8.0压缩版

下面总结下安装过程&#xff1a; 首先解压下载好的压缩版本。将解压后mysql的bin文件目录配置系统环境path变量中使用cmd打开命令窗口&#xff0c;输入mysqld --initialize命令初始化mysql的data数据目录&#xff0c;记住初始化完毕后&#xff0c;会在解压目录下生成一个data文…

Linux实时监控工具Nmon使用

官网&#xff1a;http://nmon.sourceforge.net/pmwiki.php?nMain.HomePage 下载&#xff1a;http://sourceforge.net/projects/nmon/files/nmon_linux_14g.tar.gz 解压&#xff1a; #chmod ux nmon_x86_64_sles11 #chmod 777 nmon_x86_64_sles11 版本不同&#xff0c;对应文件…

英特尔2022年投资者大会:公布技术路线图及重要节点

在英特尔2022年投资者大会上&#xff0c;英特尔CEO帕特基辛格和各业务部门负责人概述了公司发展战略及长期增长规划的主要内容。在半导体需求旺盛的时代&#xff0c;英特尔的多项长期规划将充分把握转型增长的机遇。在演讲中&#xff0c;英特尔公布了其主要业务部门的产品路线图…

20151102adonet2

实现增删改查 ExecuteNonQuery:执行增删改语句,返回值为该命令所影响的行数. ExecuteReader:执行查询,并返回 一个DataReader对象. ExecuteScalar:执行查询,返回查询数.(删除修改时判断记录是否存在) string strSql string.Format("select count(*) from RNews where New…

day07 -文件的基本操作

1、什么是文件&#xff1f; 文件是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位文件的操作核心就&#xff1a;读、写即我们只需要对于进行读写操作&#xff0c;就是对操作系统发起请求&#xff0c;然后由操作系统将用户或者应用程序对文件的读写操作转换成具体的硬盘…

淘宝Tengine服务器开源

http://tengine.taobao.org/index_cn.htmlTengine是由 淘宝核心系统部基于Nginx开发的Web服务器&#xff0c;它在 Nginx的基础上&#xff0c;针对大访问量网站的需求&#xff0c;添加了很多功能和特性。Tengine的性能和稳定性已经在大型的网站如 淘宝网&#xff0c; 淘宝商城等…

22个案例详解Pandas数据分析/预处理时的实用技巧,超简单

作者 | 俊欣来源 | 关于数据分析与可视化今天小编打算来讲一讲数据分析方面的内容&#xff0c;整理和总结一下Pandas在数据预处理和数据分析方面的硬核干货&#xff0c;我们大致会说Pandas计算交叉列表Pandas将字符串与数值转化成时间类型Pandas将字符串转化成数值类型Pandas当…

PL/SQL 中Returning Into的用法

ORACLE的DML语句中可以指定RETURNING INTO语句。RETURNING INTO语句的使用在很多情况下可以简化PL/SQL编程&#xff0c;少一次select into语句。DELETE操作&#xff1a;RETURNING返回的是DELETE之前的结果&#xff1b; INSERT操作&#xff1a;RETURNING返回的是INSERT之后的结果…

Java常用多线程辅助工具---countdownLatch

为什么80%的码农都做不了架构师&#xff1f;>>> 前言 上一篇博文说到semaphore&#xff0c;一个加强版的synchronized&#xff0c;该多线程辅助工具适用于控制对资源操作或者访问的场景。现在有一张场景是&#xff0c;需要等各个线程都都执行完了再进行下一步的操作…

听说,英特尔要对外开放 x86 授权?

整理 | 郑丽媛出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;同为主流芯片架构&#xff0c;相较于可申请授权的 ARM 和开源的 RISC-V&#xff0c;x86 一直以来都保持着“高高在上”的立场——唯有英特尔和 AMD 拥有 x86 授权。但目前看来&#xff0c;x86 的“高冷…

Linux下gedit显示行号

Gedit 编辑->视图

关于String数组的用法

android ContextWrapper.getResources(ContextWrapper.java:89) getResources()报错原因是在OnCreate方法外 无法完成Context的初始化 正确做法&#xff1a; String[] names;names new String[6];names[0] getResources().getString(R.string.a);names[1] getResources().g…

使用RabbitMQ做数据接收和处理时,自动关闭

场景&#xff1a;N个客户端向MQ里发送数据&#xff1b;服务器上有另一个控制台程序(假设叫ServerClient)来处理这里数据&#xff08;往数据库保存&#xff09;。方向为Client * n→MQSERVER→ServerClient 问题&#xff1a;ServerClient自动关闭&#xff0c;没有错误日志&#…

在 Python 中妙用短路机制

作者 | 费弗里来源 | Python大数据分析本期我们即将学习的是&#xff1a;Python中短路机制的妙用。不同于物理学中的「短路」&#xff08;Short circuit&#xff09;那般危险&#xff0c;Python中的短路机制非常有用&#xff0c;跟很多其他编程语言中的短路机制作用类似&#x…

《Advanced PHP Programming》读书笔记

此书无中文版&#xff0c;但是写的极好&#xff01;本来想翻译的&#xff0c;可是时间不允许了。 http://www.amazon.com/Advanced-PHP-Programming-George-Schlossnagle/dp/0672325616/refpd_rhf_dp_p_t_1约定&#xff1a;加粗字体表示章节&#xff0c;由于时间关系解释性的说…

cookie记录用户的浏览商品的路径

在电子商务的网站中&#xff0c;经常要记录用户的浏览路径&#xff0c;以判断用户到底对哪些商品感兴趣&#xff0c;或者哪些商品之间存在关联。 下面将使用cookie记录用户的浏览过的历史页面。该网站将每个页面的标题保存在该页面的$TITLE 变量中&#xff0c;用户每访问一次&a…

如何快速写一个违背双亲委托机制的classloader

很多情况下&#xff0c;不得以必须写个classloader来满足需求。例如你一个工程里你想用相同的数据库的多个版本&#xff0c;自己制定了一个jar包目录&#xff0c;没有classloader管理等等。如果是一个遵循java已经规定好的机制的classloader&#xff08;双亲委托以及加载依赖类…

让我们谈谈RAID

转自&#xff1a;http://soft.zdnet.com.cn/techupdate/2004/0330/397707.shtml 更新时间: 2004-03-30 17:14:00 作者&#xff1a; 赵效民 感觉写的很好就转来了。 RAID的种类 RAID的英文全称为Redundant Array of Inexpensive&#xff08;或Independent&#xff09; Disks&…

Ampere 携手 Rigetti 开发混合量子经典计算机

该合作旨在为价值 160 亿美元的机器学习市场提供服务&#xff0c;赋能机器学习应用的发展双方将把 Ampere Altra Max 处理器和 Rigetti 量子处理单元进行优化结合&#xff0c;为机器学习提供整合的云平台 2022 年 2 月 21 日&#xff0c;安晟培半导体科技有限公司&#xff08;A…

[C++] NULL VS nullptr

NULL VS nullptr 转载于:https://www.cnblogs.com/tianhangzhang/p/4945623.html

swift 的defer使得资源的分配和释放代码可以放到一起

只是一种语法和逻辑上的优化

烂泥:haproxy学习之手机规则匹配

2019独角兽企业重金招聘Python工程师标准>>> 本文由ilanniweb提供友情赞助&#xff0c;首发于烂泥行天下 想要获得更多的文章&#xff0c;可以关注我的微信ilanniweb。 今天我们来介绍下有关haproxy匹配手机的一些规则配置。 一、业务需要 现在根据业务的实际需要&a…

jQuery日期选择器插件date-input

官网&#xff1a;http://jonathanleighton.com/projects/date-input/下载&#xff1a; http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js http://github.com/jonleighton/date_input/raw/master/jquery.date_input.js http://github.com/jonleighton/date_inp…

厉害了,用Python绘制动态可视化图表,并保存成gif格式

作者 | 俊欣来源 | 关于数据分析与可视化最近有粉丝问道说“是不是可以将这些动态的可视化图表保存成gif图”&#xff0c;小编立马就回复了说后面会写一篇相关的文章来介绍如何进行保存gif格式的文件。那么我们就开始进入主题&#xff0c;来谈一下Python当中的gif模块。安装相关…

facade-门面模式

解决问题 客户端调用逻辑与业务代码有效隔离&#xff0c;使得客户端调用只和Facade进行交互&#xff0c;内部的调用逻辑由Facade进行实现。此模式也可以和接口化编程结合&#xff0c;进一步降低客户端与业务逻辑的耦合 应用场景 它主要应用在代码结构的设计&#xff0c;合理组织…

淘宝李晓拴:淘宝网PHP电子商务应用

源自&#xff1a;http://tech.qq.com/a/20110512/000298.htm 大家好&#xff0c;大家知道淘宝搜索是一个典型PHP架构。在座同学不知道有多少人使用过淘宝搜索可以举手示意一下&#xff1f;在开始这个话题之前我们先谈一下Polyglot&#xff0c;多语言混合编程&#xff0c;淘宝有…

玩爬虫不会登陆?这个工具拿走不谢!

作者 | 周萝卜来源 | 萝卜大杂烩在日常学习当中&#xff0c;我们或多或少都会到网上抓取一些数据&#xff0c;比如豆瓣、微博等等&#xff0c;但是这些网站在非登录的情况只能拿到部分数据&#xff0c;有很多数据都是需要登陆之后才可以获取的&#xff0c;那么模拟登陆就成为了…