簡體   English   中英

將數據從服務器發送到客戶端Python 2.7

[英]Send Data from Server to Client Python 2.7

我正在嘗試編寫一個讀取.pdf文件並將數據發送到客戶端服務器的服務器。

這是我的服務器程序的一個片段。

while True: # infinite loop to connect to a client
    client, address = server.accept()
    data = copyfile(path)
    data = str(data)
    client.send(data.encode('utf-8'))
    client.close()

這是我的客戶端源代碼的片段:

client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# assume my host and ports are correct
client.connect((host, port))
data = client.recv(1024)
s = data.decode('utf-8')

print s

client.close()

這是我得到的錯誤:

client.send(message.encode('utf-8'))

UnicodeDecodeError:'ascii'編解碼器無法解碼位置10的字節0xe2:序數不在范圍內(128)

只是直接發送字節。

#client.py
x = open('out.pdf','wb')
while 1:
    data =''
    data = s.recv(1024)
    if data == b'': break
    x.write(data)
x.close()

服務器代碼:

#server.py
x=open("test.pdf","rb")
client, address = s.accept()
while 1:
    data = x.read(1024)
    if data == b'':
        print("finished")
        x.close()
        client.close()
        break
    client.send(data)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM