不同操作系统上的启动器和接受器

时间:2012-12-13 06:51:41

标签: c++ tcp-ip quickfix

我必须在两个不同的操作系统上运行我的启动器和接受器。我看到一个奇怪的插座断开问题。以下是我尝试过的不同场景。我正在使用C ++ / Quickfix。我已经在Debian / Ubuntu上使用了很长时间的设置,没有问题。使用CentOS和Ubuntu建立连接会产生问题。 问题详情: -

场景-1(问题场景)

我的发起人正在Machine-1上运行,这是CentOS

我的接受者正在使用Ubuntu的Machine-2

当我尝试连接时,我收到以下错误: -

<20121213-03:57:41.619, FIX.4.2:ft-trade->ES, event>
  (Connecting to 10.0.0.40 on port 31209)
<20121213-03:57:41.620, FIX.4.2:ft-trade->ES, outgoing>
  (8=FIX.4.2 9=77 35=A 34=1 49=ft-trade 52=20121213-03:57:41.620 56=ES 98=0 108=30 141=Y 10=230 )
<20121213-03:57:41.620, FIX.4.2:ft-trade->ES, event>
  (Initiated logon request)
<20121213-03:57:41.621, FIX.4.2:ft-trade->ES, event>
  (Socket Error: Connection reset by peer.)
<20121213-03:57:41.621, FIX.4.2:ft-trade->ES, event>
  (Disconnecting)

请不要通过上面的数据包中的校验和字段,因为我必须在发布之前更改发件人/目标组件。

场景-2(正常工作)

我将相同的启动器代码用于不同的Machine-3。现在都是Ubuntu。

从Machine-3,我可以成功连接到Machine-2。

此方案没有问题,因此我的设置文件等都很好。

场景-3(工作正常)

我将相同的接受者代码带到了Machine-1。两个CentOS现在

再次,我可以成功连接。

我还检查了是否存在任何与防火墙相关的问题。但是没有问题,因为从Machine-1到Machine-2的telnet成功了。

据我所知,当对等体在打开后断开或关闭套接字时,这是一个TCP / IP错误。但是消息传入的方式,它不确定错误是由于TCP / IP还是quickfix。我没有看到TCP / IP握手问题的任何原因,因为TELNET也能正常工作。

0 个答案:

没有答案