2016-07-22 410 views
0

ASCII字符SOH不应该是可打印的。但是,当控制台登录到我的Windows命令提示符时,它会显示笑脸。我不知道这是否是阻止我的FIX引擎成功发送登录数据包的问题。另一家公司查看了我的标签和值,看起来不错,但一直说我的SOH分隔符不应该显示任何内容。这反过来会导致他们的FIX服务器无法解析我们的数据包,因此,一旦我们尝试发送数据包,就立即断开我们的连接。有没有办法做到这一点,所以SOH ASCII字符看起来不可打印(作为空白区域),还是仅出现在我身边的笑脸,但发送时数据包是否正确?Javascript FIX引擎SOH字符分隔符

回答

0

显示的方式与发送的电线没有多大关系。这意味着发送一个SOH,以二进制发送,

00000001 

down你的TCP/IP连接。 (好吧,在Big Endian的01000000,顺着管子。)这在十六进制中也被称为0x10x01

这样的字符通常不会显示,但在像vim这样的编辑器中,可以看到由插入符号和字母或符号组合打印的“不可打印”字符。例如,从多伦多证券交易所今天GTE消息:

8=FIX.4.3^A9=0132^A35=A^A34=459^A49=TMXGTE^A52=20160822-15:29:25.289^A56=1043K121^A50=1001K011^A57=1043K121^A369=916^A98=0^A108=30^A554=NKY9MXDRFTINI/sJIPxhPUY=^A10=203^A 

因此,首先,你需要检查你是如何构建的是会被发送沿着电线字节的字符串。你是当然你编码二进制00000001为你的SOH字节,而不是你认为得到编码。发布一些代码;你会得到更多的帮助。

接下来的事情是,你肯定你显示你认为你显示的内容。再次,代码会有所帮助。