应用程序交互协议。插座。比特传输

时间:2019-07-04 08:07:39

标签: python python-2.7 sockets

有一个应用程序P,它可以独立运行。该应用程序在其内存中存储了我需要获取的一些数据。

假设我想通过Web界面接收数据。我在“ Flask”上有一台服务器。我想将应用程序P用作数据源。

在应用程序P中启动某个功能时,我创建了一个localhost套接字(应用程序P和服务器在同一系统上运行)。启动服务器时,我连接到附录P中打开的套接字。

每秒都会将GET请求发送到服务器。查询参数指定格式为“ var1,var2,...,varn”的字符串。借助于split(','),此行被分为变量名列表,其值需要从应用程序P中获取。

任务是开发用于通过套接字在服务器和应用程序P之间进行交互的协议。

选择以下结构:[N0 ... N7] [T0] [L0 ... L22],其中

N(8位)-请求号。

T(1位)-GET请求类型:0 / SET:1

L(23位)是下一条消息中要接收的数据的长度。 (可能是len(pickle.dumps(list_of_after_split)))

之后是数据。

问题:如何正确将位传输到套接字?毕竟,socket.send仅接受字节类型的对象。例如,在这种情况下如何正确传输长度?还是需要自己形成并传递形式为b'0xaa8000ff'的字符串,然后对其进行解析?

0 个答案:

没有答案