0
クライアントからサーバーへファイルを転送する簡単なファイル転送プログラムを実行したい。サーバーはクライアントにパスを送信し、クライアントはファイルをサーバーに送信します。しかし、私はサーバーの部分でファイルを作成する方法を知らない。実際には、すべてのファイルをバイナリモードで送信しますが、それ以降はサーバーモードですべてのバイトを受信します。受信するバイトからファイルを作成する方法はわかりません。クライアントから受信バイト後にファイルを作成する
クライアント部分
sock = 0
path = " "
def open_socket():
global sock
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(("localhost", 9000))
def transfer_file(path):
f = open(path, "rb").read()
sock.send(f)
def main():
open_socket()
path = sock.recv(1024)
if __name__ == "__main__":
main()
サーバーパート
def open_connection():
global client
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.bind(("0.0.0.0", 9000))
sock.listen(1)
client, address = sock.accept()
def file_transfer():
path = raw_input("Enter path of file: ")
client.send(path)
while True:
file_from_client = client.recv(1024)
def main():
open_connection()
file_transfer()
if __name__ == "__main__":
main()
感謝します!
:これは、1つのファイルを転送しますサーバーにファイルを送信しますか? [コード例を使用して、ファブリックを使用してssh経由でローカルファイルをアップロードする方法](http://stackoverflow.com/q/5314711/4279) – jfs