我在一个指定端口的IP地址上,以TCP/IP数据包格式连续地获取一个滴答滴答的市场数据流。我想把它记录在一个csv文件中,或者围绕数据流进行交易和数据分析。在
服务器以以下格式发送所有数据包
typedef struct
{
CHAR cCompOrNot
SHORT nDataSize;
SHORT iNoOfPackets;
}ST_COMP_BATCH_HEADER
typedef struct
{
SHORT iCode;
SHORT iLen;
LONG lSeqNo;
} ST_INFO_HEADER;
typedef struct
{
.
.
}ST_DATA_INFO;
typedef struct
{
SHORT iCheckSum;
CHAR cEOT;
} ST_INFO_TRAILER;
typedef struct
{
ST_INFO_HEADER stInfoHdr;
ST_DATA_INFO stDataInfo;
ST_INFO_TRAILER stInfoTrailer;
.
}ST_DATA_PACKET
从服务器接收的所有数据包都由压缩批处理头组成。 压缩批处理头提供有关数据包的信息 压缩与否,以下数据包中的包数和数据包的总大小。客户端需要使用 LZO解压算法。解压缩每个数据包后 由ST_INFO_头组成,它有标识类型的iCode字段 包的。使用iCode字段,将数据信息包映射到 数据包。在
那么有没有什么方法可以让我用Python库来解码这些数据包中的数据呢。在
提前谢谢!在
使用套接字库。下面是连接到tcp/ip端口并直接从Python站点解析数据的代码示例(将HOST static设置为所需的ip):
对于Python 2.x:
https://docs.python.org/2/library/socket.html
对于Python 3.x:
https://docs.python.org/3/library/socket.html
用于Python的LZO库:
https://pypi.python.org/pypi/python-lzo/1.08
相关问题 更多 >
编程相关推荐