【问题标题】:Send Data from Server to Client Python 2.7将数据从服务器发送到客户端 Python 2.7
【发布时间】:2016-02-02 03:22:22
【问题描述】:

我正在尝试编写一个读取 .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)

【问题讨论】:

    标签: python server


    【解决方案1】:

    只发送直接字节。

    #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)
    

    【讨论】:

    • 谢谢。我有发送字节的想法,因为每个数据只是一堆零和一。
    • 我终于为我的班级完成了我的 GUI 应用程序。然后我把它打包了。该应用程序有效,但我必须单击它的图标才能显示窗口。我在 Mac 上。
    猜你喜欢
    • 2013-04-11
    • 2021-12-07
    • 1970-01-01
    • 2012-08-29
    • 2020-08-17
    • 2021-01-26
    • 1970-01-01
    • 1970-01-01
    • 2019-09-10
    相关资源
    最近更新 更多