Python中使用socket通讯

未缩进—-

Server.py:

#coding:utf-8
import os
import socket
import subprocess
HOST = '192.168.145.145'
PORT = 50008
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(5)
while True:
conn, addr = s.accept()
print 'Connected by', addr
while True:
command = conn.recv(1024)
if not command:
break
if command == 'quit':
break
#data = os.popen(command).read()
result = subprocess.Popen(command,shell=True,stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
data = result.stdout.read()
conn.sendall(data)
conn.close()
s.close()

 

Client:

#coding:utf-8
import socket
HOST = '192.168.145.145'
PORT = 50008
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
while True:
command = raw_input('Input your linux command: ')
if command == 'quit':
break
if not command:
break
s.send(command)
data = s.recv(10240)#.decode('utf-8')
if not data:
break
print data
s.close()