python socket
客户端
# -*- coding: UTF-8 -*- import socket import time socket.setdefaulttimeout(10) # 设置socket 接收超时 s = socket.socket() s.connect_ex(('101.37.*.*', 9000)) # 项目服务器,打码 while 1: s.send('I am Raspberry Pi'.encode('utf-8')) time.sleep(1) res = s.recv(1024).decode('utf-8') print res
服务端
1 #!/usr/bin/python 2 import socket 3 import commands #执行系统命令模块 4 HOST='127.0.0.1' # localhost 5 PORT=50007 6 s= socket.socket(socket.AF_INET,socket.SOCK_STREAM) #定义socket类型,网络通信,TCP 7 s.bind((HOST,PORT)) #套接字绑定的IP与端口 8 s.listen(1) #开始TCP监听,监听1个请求 9 while 1: 10 conn,addr=s.accept() #接受TCP连接,并返回新的套接字与IP地址 11 print'Connected 12 by',addr #输出客户端的IP地址 13 while 1: 14 data=conn.recv(1024) #把接收的数据实例化 15 cmd_status,cmd_result=commands.getstatusoutput(data) #commands.getstatusoutput执行系统命令(即shell命令),返回两个结果,第一个是状态,成功则为0,第二个是执行成功或失败的输出信息 16 if len(cmd_result.strip()) ==0: #如果输出结果长度为0,则告诉客户端完成。此用法针对于创建文件或目录,创建成功不会有输出信息 17 conn.sendall('Done.') 18 else: 19 conn.sendall(cmd_result) #否则就把结果发给对端(即客户端) 20 conn.close() #关闭连接