2014-05-22 24 views
0

任何人谁可以帮忙,FIX协议4.4连接不响应登录

我有一个演出停止连接到测试服务器的问题。

我的TCP/IP连接是通过建立:

插座_socket =新的Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);

我经由发送连接消息给服务器:

_socket.Send(_txData);

其中_txData是一个字节[] _txData阵列与所述连接请求消息初始化:

8 = FIX.4.4 \ 0019 = 121 \ 00135 = A \ 00149 = NotRealSenderID \ 0 0156 = NotRealTargetID \ 00134 = 1 \ 00152 = 20140522-20:12:04.392 \ 00198 = 0 \ 001108 = 30 \ 001554 = NotRealPassw ord \ 00110 = 017 \ 001转换为字节数组。

我经由等待登录成功消息:

INT responseCount = _socket.Receive(_rxBuffer);

但几秒钟后,_socket.Receive解锁并返回零字节,表明连接不成功。

我在做什么错?

我的登录信息有问题吗?这是我建立服务器连接的方式吗?我很茫然!

目前,我默认的Windows 7防火墙被禁用,我尝试远程登录到服务器,下面的图片快照的结果:

enter image description here

任何帮助将不胜感激,因为这是一个主要表演塞给我。

谢谢。

回答

0

我设法解决了这个问题。问题在于我的消息中SOH字符。我正在使用文字SOH =“\ 001”转换为一个字节,当我应该这样做时:SOH =(char)0x1; DUH!

为了记录在案,我用下面的工具“调试”本次发行:

Wireshark的带显示过滤器和捕获过滤器设置为主机服务器的IP地址,以及MINI-FIX来生成和发送FIX消息主机服务器。

然后,我通过Wireshark将我的客户端的输出与由MINI-FIX生成的输出进行比较。从那里发现错误并不需要很长时间。

+0

如何在telnet中输入'0x1' SOH? – TangMonk

+0

将\ x附加到字节的开头。例如“\ X01”。 – guerillacodester

+0

用\ x01替换SOH?像这样?8 = FIX.4.4 \ x019 = 103 \ x0135 = A \ x149 = Q142 \ x0156 = XCD1 \ x0134 = 240 \ x0152 = 20171009-03:26:20 \ x0198 = 0 \ x01108 = 30 \ x01553 = primexm_hgnh_uat_1_q \ x01554 = tVN84Y93THc5 \ x0110 = 253 \ x01',似乎不起作用。 – TangMonk

0

什么是“测试服务器”?
你可以ping它吗?

从该telnet会话的外观来看,您没有建立连接的权限,或者目标上没有任何内容在运行。

+0

问题已解决。见上面。感谢您的帮助,tho。 – guerillacodester