首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

[100分] Python Socket 有关问题 求高手

2013-04-12 
[100分] Python Socket 问题 求高手一个小的C/S程序,用Socket连接的!我的客户端是Python写的,但是服务器是

[100分] Python Socket 问题 求高手
一个小的C/S程序,用Socket连接的!我的客户端是Python写的,但是服务器是C++的

服务器向客户端发了一个结构体的内存块过去,但是Python的Socket.recv()返回的是一个字符串,
请问:
     Python是如何将C++的结构体转成字符串的?
     我又应该怎样解析这个字符串?
[解决办法]
返回的是bytes,按字节数(切片)就是
python也有struct,但最小单位是字节
[解决办法]
通常通信中的数据传输需要进行编码和解码操作,即使都是C/C++写的代码也不要用类型强制转换而得到发送端的数据对象,这样带来很多问题,比如可移植性。

编码和解码其实就是应用层协议,知道如何编码的同时,也就知道了如何解码。
[解决办法]
可以用structs模块unpack

通常更好的方式是双方约定采用json进行编解码

热点排行