我正在创建一个程序,其中android设备从Web服务器请求文件(运行python)。服务器可以通过套接字接收请求的文件的路径而没有问题,但是我不知道如何使我的android设备等待回应。
这是android代码(作为客户端从Web服务器请求文件的代码):
try {
Socket socket = null;
socket = new Socket("192.168.1.9", 4000);
DataInputStream input = new DataInputStream(socket.getInputStream());
DataOutputStream output = new DataOutputStream(socket.getOutputStream());
String str = getURL();
output.writeBytes(str);
output.close();
input.close();
socket.close();
{
}
} catch (IOException e) {
}
Log.d("communicationService", "URL transferred with success");
和在Web服务器上运行的python脚本(它可以接收文件路径,但是我在发送文件时遇到问题)
import socket
import sys
HOST, PORT = '192.168.1.9', 4000
serverSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
serverSocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
serverSocket.bind((HOST,PORT))
serverSocket.listen(10)
print 'Server is on and listening to %s ... ' % PORT
while True:
clientSocket, clientAddress = serverSocket.accept()
print 'A client was connected.....'
incomingURL = clientSocket.recv(1024)
print incomingURL
clientSocket.close()
任何建议和提示将非常有帮助...
最佳答案
我想您应该可以摆脱SimpleHTTPServer
如果您需要使用完善的Web服务来发烧友,WSGI非常受欢迎。
到目前为止,在客户端Requests库是我发现用python发出http请求的最简单方法。 (只是必须插入那个,因为那样好)
关于java - 使用套接字从服务器请求文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34098736/