2016-07-22 208 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字節,而不是你認爲得到編碼。發佈一些代碼;你會得到更多的幫助。

接下來的事情是,你肯定你顯示你認爲你顯示的內容。再次,代碼會有所幫助。