#-*-coding:utf-8-*-
import socket,os
server=socket.socket()
server.bind(('localhost',6969)) #绑定要监听的端口
print("正在监听端口")
server.listen(5) #监听
print("我要开始等电话了")
while True:
server.listen(3)
conn, addr = server.accept() # 等电话打进来
print(conn) # conn就是客户端连过来而在服务端为其生成的一个连接实例
print("电话来了")
while True:
data=conn.recv(1024) #通过conn连接实例接收数据
print("recv:",data)
if not data:
print("client has lost...")
break
res=os.popen(data).read()
conn.send(res) #通过conn连接实例发送数据 send根据系统缓存大小,一般32K
server.close()
#-*-coding:utf-8-*-
import socket
client=socket.socket()#默认famliy=AF_INET(ipv4)地址簇 type=SOCK_STREAM (tcp/ip) 声明socket类型,同时生成socket连接对象
client.connect(("localhost",6969))
while True:
msg=raw_input("请输入:").strip() #不能发送空数据
if len(msg)==0:continue #如果msg长度为0,就继续 ,重新发
client.send(msg.encode("utf-8")) #3.x 只能发bytes类型数据,只能接收ASCII数据,汉字不行,要发汉字只能编码成utf-8格式
data=client.recv(102400) #收102400字节数据
print(data.decode("utf-8")) #bytes类型打印出来要解码
client.close()
#import os
#>>> a=os.popen("df")
#>>> b=os.popen("df").read()
#>>> print(b)
import os
a=os.popen("ipconfig") #命令的执行结果通过管道输出,执行的结果生成是一个对象
print(a)
b=a.read() #命令的执行结果通过管道输出,并把输出的结果通过read读出来
print(b)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。