import sys
import socket
import os
host = ''
skServer = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
skServer.bind((host,2525))
skServer.listen(10)
print ("Server Active")
bFileFound = 0
while True:
Content,Address = skServer.accept()
print (Address, "connected")
FileName = Content.recv(8192)
sFileName = FileName.decode('utf-8')
for file in os.listdir("files/"):
if file == sFileName:
bFileFound = 1
break
if bFileFound == 0:
print (sFileName+" Not Found On Server")
else:
print (sFileName," File Found")
fUploadFile = open("files/"+sFileName,"rb+")
sRead = fUploadFile.read(8192)
while sRead:
Content.sendall(sRead)
sRead = fUploadFile.read(8192)
print ("Sending Completed")
Content.close()
skServer.close()
这是我的client.py:
import sys
import socket
skClient = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
skClient.connect(("<ip public>",2525))
sFileName = input("Enter Filename to download from server : ")
sData = "Temp"
while True:
skClient.sendall(sFileName.encode('utf-8'))
sData = skClient.recv(8192)
fDownloadFile = open("storage/emulated/0/qpython"+sFileName,"wb+")
while sData:
fDownloadFile.write(sData)
sData = skClient.recv(8192)
print ("Download Completed")
skClient.close()
有什么方法可以全局使用我的脚本,所以任何网络都可以访问它吗?
答案 0 :(得分:0)
可能。某些提供商限制某些类型的网络流量。
您有几种选择,其中一种方法是为两个设备提供通用的VPN连接。该技术将封装您的程序流量,因此程序应该按照您希望的方式工作。