day09_python socket ssh交互
2016-08-12 17:19
141 查看
1.a.accept() 和a.recv()都是阻塞的,基于链接正常
3.s.listen(n)代表能挂起的链接数,如果n等于1代表可以链接一个,挂起一个,就是后面可以排队等一个,第三个拒绝
4.#__author__ = 'DouYunQian'
#coding=utf-8
import socket
client=socket.socket()
ip_addr=("127.0.0.1",9958)
client.connect(ip_addr)
while True:
data=input("cmd >>>")
if len(data)==0:continue
if data=="exit":break
client.sendall(bytes(data,encoding="utf-8"))
rec_data=client.recv(1024)
print(str(rec_data,"utf-8"))
client.close()
以上是服务端代码
客户端代码如下:
#__author__ = 'DouYunQian'
#coding=utf-8
#
# python模拟ssh交互
#
import socket,subprocess
from sys import stdout
server_po=socket.socket()
ip_addr=("127.0.0.1",9958)
server_po.bind(ip_addr)
server_po.listen(5)
while True:
con,addr=server_po.accept()
while True:
try:
rece_data=con.recv(1024)
if len(rece_data)==0:break
p=subprocess.Popen(str(rece_data,"utf-8"),shell=True,stdout=subprocess.PIPE)
win_data=p.stdout.read()
if len(win_data)==0:
send_data="cmd error"
else:
send_data=str(win_data,encoding="gbk")
con.sendall(bytes(send_data,encoding="utf-8"))
except Exception:
break
con.close()
server_po.close()
3.s.listen(n)代表能挂起的链接数,如果n等于1代表可以链接一个,挂起一个,就是后面可以排队等一个,第三个拒绝
4.#__author__ = 'DouYunQian'
#coding=utf-8
import socket
client=socket.socket()
ip_addr=("127.0.0.1",9958)
client.connect(ip_addr)
while True:
data=input("cmd >>>")
if len(data)==0:continue
if data=="exit":break
client.sendall(bytes(data,encoding="utf-8"))
rec_data=client.recv(1024)
print(str(rec_data,"utf-8"))
client.close()
以上是服务端代码
客户端代码如下:
#__author__ = 'DouYunQian'
#coding=utf-8
#
# python模拟ssh交互
#
import socket,subprocess
from sys import stdout
server_po=socket.socket()
ip_addr=("127.0.0.1",9958)
server_po.bind(ip_addr)
server_po.listen(5)
while True:
con,addr=server_po.accept()
while True:
try:
rece_data=con.recv(1024)
if len(rece_data)==0:break
p=subprocess.Popen(str(rece_data,"utf-8"),shell=True,stdout=subprocess.PIPE)
win_data=p.stdout.read()
if len(win_data)==0:
send_data="cmd error"
else:
send_data=str(win_data,encoding="gbk")
con.sendall(bytes(send_data,encoding="utf-8"))
except Exception:
break
con.close()
server_po.close()
相关文章推荐
- day09_python socket_编程之客户端代码
- day09__Python的Socket协议介绍
- day09_python socket编程之服务端代码
- Python thread socket server
- 用Python与socket实现的网络服务器
- Python socket最简单
- 使用Python找出本机支持的socket列表
- Python的简单socket操作
- 用python快速开发一个实用的socket服务器
- Python Socket 1
- A bit of socket code from python
- Python实现ASP+ACCESS注入,不用SOCKET
- Python中socket和多线程的应用
- python socket server 并发(转)
- Python中socket和多线程的应用
- Python中Socket一难点解决
- python中socket接受数据的三种方法
- Python天天美味(27) - 网络编程起步(Socket发送消息)
- [Python系列实用教程]二、Python中使用socket
- [转] 最简单的使用UDP通信的Python Socket例子