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