python實現socket簡單文件傳輸

發送方:

import socket

sk = socket.socket()

ip_port = ('127.0.0.1' ,8887)
sk.connect(ip_port)

with open("demoone.py", 'rb') as f:
    for i in f:
        sk.send(i)
        data = sk.recv(1024)
        #判斷接收方是否真正的接收完成
        if data != b'success':
            break
#發送結束信號
sk.send('quit'.encode())

接收方

import socket

sk = socket.socket()
ip_port = ('127.0.0.1', 8887)
sk.bind(ip_port)
sk.listen(5)
while True:
    conn, address = sk.accept()
    #一直使用當前連接,直到結束
    while True:

        with open("file.py", 'ab') as f:
            data = conn.recv(1024)
            if data == b'quit':
                break
            f.write(data)
        conn.send('success'.encode())
    #提示接收完成
    print("文件接收完成")
sk.close()

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章