如何通过套接字分别发送特定信息python

时间:2017-07-15 17:08:52

标签: python file sockets

我的问题是我制作了一个脚本,可以将文件从服务器发送到客户端。我想将一个特定的信息,例如文件的名称单独发送给客户端,而不是与发送文件的字节混合。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:-1)

以json格式发送它,格式,名称,大小等都在json字符串中名为header的单独对象中,然后是包含文件数据的名为data的对象

这是一个例子:

class header:
    def __init__(self, name, typ, size):
        self.name = name
        self.type = typ
        self.size = size


class jsonClass:

    def __init__(self, data, name, typ, size):
        self.header = header(name, typ, size)
        self.data = data

data = "data"
name = "name"
typ = "type"
size = "size"

jsonObject = jsonClass(data, name, typ, size)

现在可以使用json类的python序列化这个jsonObject,并以二进制形式通过套接字发送它(将字符串编码为二进制后)

您还可以将数据存储为python Dictionary,可以将其转换为Json字符串:

jsonObject2= { "header2":{
                    "name":"filename",
                    "size":"filesize"
                },
               "data":"filedata"
              }
相关问题