使用Python通过套接字发送二进制数据

泛素

我正在寻找通过SPDY协议编写一些基本请求的脚本该协议将您发送的帧定义为由非常特定的长度和字节顺序的二进制数据组成。

我只编写过跨套接字(HTTP)发送字符串的小程序。例如,如何实现SPDY控制帧头?例如,我尝试使用bitstring库和numpy来控制控制帧头中所有不同部分的大小,但实际上没有任何作用。当前用于Python的SPDY库使用cython和C数据类型,我发现它非常不可预测。我想知道如何使用纯python构建简单的请求,或者非常简单地如何构建类似于协议定义的东西并通过套接字发送它?

怪异的

通常,bytearray课堂将是您的朋友(如果我正确理解您的问题)。您可以通过套接字发送它:

my_bytes = bytearray()
my_bytes.append(123)
my_bytes.append(125)

// my_bytes is b'{}' now

s.send(my_bytes)

遵循协议规范并逐字节创建字节。当您接收数据时,这也适用:

data = s.recv(2048)
my_bytes = bytearray(data)

我对SPDY协议了解不多,但是例如控制位是消息中的第一位(不是字节)。您可以my_bytes通过二进制AND检索它,例如:

control_frame = my_bytes[0] & 128

这是因为它12810000000二进制文件,因此二进制文件AND只会给您第一位(请记住,每个字节有8位,这就是为什么我们有7个零)。

这就是手动完成事情的方式。当然,我建议使用一些库,因为编写适当的协议处理程序会花费很多时间,您可能会发现这很困难并且效率不高(当然取决于您的需求)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Java / Android中使用套接字多次发送二进制数据

来自分类Dev

套接字发送二进制数据而不是文本数据

来自分类Dev

通过客户端套接字发送二进制或字符串

来自分类Dev

发送带有二进制和 ascii 数据的套接字

来自分类Dev

以二进制模式读取任何文件,将其附加到字符串,并通过 TCP 套接字发送

来自分类Dev

通过HTTP在JavaScript中发送二进制数据

来自分类Dev

通过管道C发送二进制数据

来自分类Dev

尝试通过 $.ajax 发送二进制数据

来自分类Dev

将内存中的二进制数据读入字符串流并通过套接字流式传输

来自分类Dev

使用Spring-WebSockets是否可以通过WebSockets使用STOMP发送二进制数据?

来自分类Dev

Python,正确的方式来准备可以通过串行发送的二进制数据

来自分类Dev

如何使用Ruby gem通过HTTP请求发送二进制数据?

来自分类Dev

通过使用jQuery AJAX发送带有二进制数据的FormData

来自分类Dev

使用Cowboy和MessagePack通过WebSocket发送二进制数据

来自分类Dev

使用HttpURLConnection发送二进制数据

来自分类Dev

如何发送二进制数据?

来自分类Dev

通过套接字TargetInvocationException进行二进制序列化/反序列化

来自分类Dev

接收二进制数据并写入(C ++中的套接字编程)

来自分类Dev

节点tcp套接字:从Enfora MT4000读取二进制数据

来自分类Dev

从Node.js中的套接字接收大型二进制数据

来自分类Dev

节点tcp套接字:从Enfora MT4000读取二进制数据

来自分类Dev

C剪切char arry并保存套接字中的二进制数据

来自分类Dev

nodejs zlib 从套接字解压缩二进制数据

来自分类Dev

套接字:如何使用inet_pton()屏蔽IP地址的二进制形式

来自分类Dev

套接字:如何使用inet_pton()屏蔽IP地址的二进制形式

来自分类Dev

C ++:如何通过curl调用使用HTTP发布请求发送二进制数据(protobuf数据)

来自分类Dev

使用请求的Python HTTP请求二进制数据

来自分类Dev

使用Python读取二进制数据

来自分类Dev

二进制数据的Python结构

Related 相关文章

  1. 1

    在Java / Android中使用套接字多次发送二进制数据

  2. 2

    套接字发送二进制数据而不是文本数据

  3. 3

    通过客户端套接字发送二进制或字符串

  4. 4

    发送带有二进制和 ascii 数据的套接字

  5. 5

    以二进制模式读取任何文件,将其附加到字符串,并通过 TCP 套接字发送

  6. 6

    通过HTTP在JavaScript中发送二进制数据

  7. 7

    通过管道C发送二进制数据

  8. 8

    尝试通过 $.ajax 发送二进制数据

  9. 9

    将内存中的二进制数据读入字符串流并通过套接字流式传输

  10. 10

    使用Spring-WebSockets是否可以通过WebSockets使用STOMP发送二进制数据?

  11. 11

    Python,正确的方式来准备可以通过串行发送的二进制数据

  12. 12

    如何使用Ruby gem通过HTTP请求发送二进制数据?

  13. 13

    通过使用jQuery AJAX发送带有二进制数据的FormData

  14. 14

    使用Cowboy和MessagePack通过WebSocket发送二进制数据

  15. 15

    使用HttpURLConnection发送二进制数据

  16. 16

    如何发送二进制数据?

  17. 17

    通过套接字TargetInvocationException进行二进制序列化/反序列化

  18. 18

    接收二进制数据并写入(C ++中的套接字编程)

  19. 19

    节点tcp套接字:从Enfora MT4000读取二进制数据

  20. 20

    从Node.js中的套接字接收大型二进制数据

  21. 21

    节点tcp套接字:从Enfora MT4000读取二进制数据

  22. 22

    C剪切char arry并保存套接字中的二进制数据

  23. 23

    nodejs zlib 从套接字解压缩二进制数据

  24. 24

    套接字:如何使用inet_pton()屏蔽IP地址的二进制形式

  25. 25

    套接字:如何使用inet_pton()屏蔽IP地址的二进制形式

  26. 26

    C ++:如何通过curl调用使用HTTP发布请求发送二进制数据(protobuf数据)

  27. 27

    使用请求的Python HTTP请求二进制数据

  28. 28

    使用Python读取二进制数据

  29. 29

    二进制数据的Python结构

热门标签

归档