博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python socket使用
阅读量:4708 次
发布时间:2019-06-10

本文共 1529 字,大约阅读时间需要 5 分钟。

2018-08-14   10:52:10

这篇先暂时这么写了……还没来得及设置任何样式

1、客户端

1 import socket,os 2 #创建套接字 3 client = socket.socket() 4 #连接一个套接字地址 5 client.connect(('localhost',9999)) 6 while True: 7     #输入一个DOS或者shell命令 8     cmd = input(">> ").strip() 9     if len(cmd) == 0: continue10     client.send(cmd.encode("utf-8"))11     data_size = client.recv(1024)12     print("返回长度: ",data_size.decode())13     recv_size = 014     recv_data = b''15     #连续接收数据16     while   recv_size != int(data_size.decode()):17         data = client.recv(1024)18         recv_size += len(data)19         recv_data +=data20     else:21         #接收完成,输出结果22         print(recv_data.decode())23         print("recv done...",recv_size)
View Code

2、服务器端

1 import socket,os 2 server = socket.socket() 3 #绑定并且监听该端口 4 server.bind(('localhost',9999)) 5 server.listen() 6  7 while True: 8     #接收一个客户端的连接 9     conn, addr = server.accept()10     print("新连接",addr)11     while True:12         print("等待新连接")13         data = conn.recv(1024)14         if not data:15             print("客户端已经断开连接")16             break17         print("开始发送数据")18         cmd_res = os.popen(data.decode()).read() #接受字符串,读取字符串19         if len(cmd_res) == 0:20             cmd_res = 'cmd has no input...'21         print("发送长度",len(cmd_res))22         conn.send(str(len(cmd_res.encode("utf-8"))).encode("utf-8"))23         print("执行指令", data)24         conn.send(cmd_res.encode("utf-8"))25         print("发送数据完成")26         print(cmd_res)
View Code

转载于:https://www.cnblogs.com/jianbo1995/p/9473239.html

你可能感兴趣的文章
实现简单的对拍
查看>>
IOS MVC与MVVM的区别
查看>>
学习python之路_入门篇A
查看>>
向数据库中全部表中增加一个字段的SQL
查看>>
RapidMiner Studio之Process源码分析
查看>>
CF 5 A. Chat Server's Outgoing Traffic
查看>>
10.4 使用布局管理器3(CardLayout)
查看>>
uva 11143
查看>>
uva 1377
查看>>
HDU 2489 Minimal Ratio Tree
查看>>
SQLite数据库的加密【转】
查看>>
ZOJ3811 Untrusted Patrol
查看>>
雍正王朝里康熙临终予四爷言
查看>>
Java垃圾回收之新生代垃圾收集器
查看>>
hdu_1848_Fibonacci again and again(博弈sg函数)
查看>>
SQLSERVER 备份还原1
查看>>
ThinkPHP第八天(U函数放置在外部JS不会被解析,错误界面定制,错误信息变量)
查看>>
java学习(1)————细碎点
查看>>
生成生成代码的工具(python实现)
查看>>
ARM4412裸板驱动LED灯.按键,蜂鸣器的驱动
查看>>