需求: 将JDK的jinfo文件读取到另外一个地方(比如读取到另一台电脑,或者另一个目录下)
客户端代码
#! /usr/bin/env python
import socket
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(('127.0.0.1',8081))
with open('/mnt/jdk1.8.0_202/bin/jinfo',mode='rb+') as f:
while True:
buf = f.read(4096)
if not buf:
break
client.send(buf)
client.close()
exit()
# 可以把文件替换成需要传输的文件,比如tar.gz类型压缩包
服务端代码
#! /usr/bin/env python
import socket
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(('0.0.0.0',8081))
server.listen(5)
client, addr = server.accept()
while True:
buf = client.recv(4096)
if not buf:
client.close()
break
with open('jinfo', 'ab+') as f:
f.write(buf)
client.close()
server.close()
exit()