FIX协议4.4连接无法响应登录

时间:2014-05-22 21:01:08

标签: login fix-protocol

对任何可以提供帮助的人,

我正在停止连接测试服务器的节目问题。

我的TCP / IP连接是通过以下方式建立的:

Socket _socket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);

我通过以下方式将连接消息发送到服务器:

_socket.Send(_txData);

其中_txData是使用连接请求消息初始化的byte [] _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

任何帮助都将受到赞赏,因为这对我来说是一个主要的阻碍。

感谢。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

我设法解决了这个问题。问题在于我的消息中的SOH字符。

我使用字面SOH =“\ 001”转换为一个字节,当我应该这样做:SOH =(char)0x1; DUH !!

为了记录,我使用以下工具来“调试”这个问题:

Wireshark将显示过滤器和捕获过滤器设置为主机服务器的IP地址,使用MINI-FIX生成FIX消息并将其传输到主机服务器。

然后我将客户端的输出与MINI-FIX通过Wireshark生成的输出进行了比较。我没有花太多时间从那里发现错误。