无法在python中使用ssh启动客户端

2024-10-16 11:27:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一个自动化框架,几乎不需要人工干预。有一个服务器和一个客户机

服务器所做的是向客户机发送一些命令并获得输出。在

为了启动与客户机的套接字连接,我在服务器机器本身使用了Spur模块(而不是进入每个客户机并执行客户机程序)。在

所发生的是它能够建立连接并发送到客户端,但无法从客户端接收任何内容

在服务器.py在

import socket

serversock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
host = ''
print host
port = 11111
serversock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
serversock.bind((host,port))
serversock.listen(4)

try:
    csock,addr = serversock.accept()
    print 'Recieved address from %s '% str(addr)
    print csock.send('hello') **# It is able to print the number of bytes sent**
    data = csock.recv(1024)  
    print data                 **# But not receiving any data**
    csock.close()

except Exception,e:
    print e

这是骨刺模块程序。现在单独运行,但必须在服务器.py本身。所以,在服务器机器中,我运行的是服务器程序和这个spir模块程序。在

^{pr2}$

这是在172.16.6.58机器上运行的客户机程序(我们用ssh连接到它)

在clientsock.py在

import socket

try:
    c = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    c.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
    host = '172.16.6.32'
    port = 11111
    c.connect((host,port))
    data = c.recv(1024)
    print data
    msg = 'hi this is client'
    c.send(msg)

except Exception,e:
    print e


finally:
    c.close()

请告诉我这段代码有什么问题,或者我应该用哪个模块在客户机上启动进程?在


Tags: 模块pyimport程序服务器机器host客户端