c - python send() 中的消息长度类似于 C 中的 send()
问题描述
我正在尝试在 python 中使用套接字和 ssl 发送数据。服务器是用 C 语言编写的,因此它期望接收:
bytesRx = recv(socket, buffer, sizeof(buffer),0)
所以在 C 中,发送函数是:
send(socket, messsage, length, 0)
我想模仿 send 函数,但在 python 中 send() 函数内没有选项来发送消息的长度。仅发送消息本身。
secure_socket.send(message)
有没有办法在 python send() 函数中包含消息长度以使服务器满意?
解决方案
在 Python 中,消息长度是……消息的长度。Python 字符串有长度,而 C 字符串没有。这就是为什么您需要在 C 中单独指定消息和长度,而不是在 Python 中。
如果只想发送消息的前 100 个字节,可以编写:
secure_socket.send(message[:100])
在 Python 中,message[:100]
表示前 100 个内容message
- 在这种情况下,我假设message
是一个字节字符串,所以它表示前 100 个字节。
推荐阅读
- angular - Angular:导入模块的组件可以访问父模块中提供的服务吗?
- python - Python BMI 公式
- dictionary - kkv映射的最优数据结构
- javascript - Mocha Chai:深度包含对象数组,但只有部分预期对象
- bash - 将行的第一部分与固定字符串匹配并计算第二部分中的唯一值
- genetic-algorithm - 遗传算法适应度和交叉选择
- angular - 我如何使用角度上传多张图片
- javascript - 找到唯一 ID 时更新或替换其他工作表中的行数据 - Google Appscript
- javascript - TypeError:无法读取未定义的属性“地图”,传递道具时出现问题
- sql - 通过使用 SQL Server 2008 给出默认的月份日期来计算日期