python socket服务端
#!/usr/bin/python
#-*- coding: utf-8 -*-
import socket
import os,sys
host=‘127.0.0.1‘ #监听的IP
port=60000 #监听的端口
buffer=1024 #接受的字节数
sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #建立socket对象
sock.bind((host,port)) #绑定IP和端口
sock.listen(5) #连接数量
def file_cp():
file_cp=‘scp file_cp.py root@%s:/root/liu‘ %ip
if os.system(file_cp)==0: #拷贝脚本文件
client.send("脚本传送成功!!!")
cmd="ssh %s ‘python /root/liu/file_cp.py‘" %ip
if os.system(cmd)==0:
client.send("对ip:%s开服成功!!" %ip) #执行脚本文件
else:
client.send("对ip:%s开服失败!!" %ip)
else:
client.send("脚本传送失败!!!")
while True:
client,addr=sock.accept()
try:
client.settimeout(5) #客户端超时设置
ip=client.recv(buffer) #接受来自客户端的命令
if not ip:
break
else:
if ip.startswith(‘-‘):
option=ip
if option ==‘-h‘:
client.send("对指定的IP开服执行python sock_client_yuancheng.py 192.168.3.207")
elif option ==‘--help‘:
client.send("对指定的IP开服执行python sock_client_yuancheng.py 192.168.3.207")
else:
client.send("输入参数错误!!!")
elif ip==‘192.168.3.207‘:
file_cp()
elif ip==‘2‘:
client.send("你输入的参数超过2个,请检查!!!")
elif ip==‘null‘:
client.send("你输入的参数为空,请检查!!!")
else:
client.send("你输入的命令不存在,请检查!!!")
except socket.timeout:
print ‘client time out!!!‘
client.close()python socket客户端
#!/usr/bin/python #-*- coding: utf-8 -*- import socket import sys host=‘127.0.0.1‘ #客户端连接服务端的IP port=60000 #客户端连接服务端的端口 buffer=1024 #字节数 sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM) sock.connect((host,port)) #连接服务端 sock.settimeout(5) #超时设置 while True: try: if len(sys.argv)==2: #判断链接的参数个数 order=sys.argv[1] sock.send(order) #发送数据到服务端进行处理 recv=sock.recv(buffer) #接受服务端传来的数据 print ‘%s‘ %recv elif len(sys.argv)>2: order=‘2‘ sock.send(order) recv=sock.recv(buffer) print ‘%s‘ %recv break else: order=‘null‘ sock.send(order) recv=sock.recv(buffer) print ‘%s‘ %recv break except socket.timeout: break sock.close()
本文出自 “成都@阿状” 博客,请务必保留此出处http://azhuang.blog.51cto.com/9176790/1440200
原文地址:http://azhuang.blog.51cto.com/9176790/1440200