Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用套接字从服务器请求文件_Java_Android_Python_Sockets - Fatal编程技术网

Java 使用套接字从服务器请求文件

Java 使用套接字从服务器请求文件,java,android,python,sockets,Java,Android,Python,Sockets,我正在创建一个程序,其中android设备从Web服务器(运行python)请求文件。服务器可以通过套接字接收请求文件的路径,但我不知道如何让android设备等待响应。 以下是android代码(作为从web服务器请求文件的客户端): 以及在Web服务器上运行的python脚本(它可以接收文件路径,但我在发送文件时遇到问题) 任何建议和提示都会非常有帮助……我想你应该能够逃脱惩罚 如果你需要一个完善的网络服务,这是非常受欢迎的 到目前为止,客户端库是我发现的用python发出http请求的最简

我正在创建一个程序,其中android设备从Web服务器(运行python)请求文件。服务器可以通过套接字接收请求文件的路径,但我不知道如何让android设备等待响应。

以下是android代码(作为从web服务器请求文件的客户端):

以及在Web服务器上运行的python脚本(它可以接收文件路径,但我在发送文件时遇到问题)


任何建议和提示都会非常有帮助……

我想你应该能够逃脱惩罚

如果你需要一个完善的网络服务,这是非常受欢迎的


到目前为止,客户端库是我发现的用python发出http请求的最简单方法。(只需插入那个,因为它很好)

我最终成功地传输了文件(对于那些对这类应用感兴趣的人)。我所做的是创建另一个套接字并将流发送回客户端

file = open("path_of_file", "rb")

s = socket.socket()
s = connect((addr,port))
l = file.read(1024)
while (l):
  s.send(l) 
  l.f.read(1024)
file.close()
s.close()

这一定要用套接字来完成吗?不。我选择套接字是因为我在一个较旧的java项目中使用了它们。如果你必须提出一个更好的方法,这将有助于thx的回复,我会检查它。
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()
file = open("path_of_file", "rb")

s = socket.socket()
s = connect((addr,port))
l = file.read(1024)
while (l):
  s.send(l) 
  l.f.read(1024)
file.close()
s.close()