2016-06-18 11 views
0

나는 고정 프로토콜을 처음 사용합니다. 우리는 TCP 네트워크 스트림을 사용하여 연결을 설정하고 FIX 메시지를 읽고이 스트림에 씁니다. 하지만 로그온 메시지를 보낼 때 나는 0이됩니다.FIX 프로토콜에 로그온하는 방법?

누군가가 작업 코드를 공유 할 수 있다면 도움이 될 것입니다. 당신이 LOGON (35=A) 메시지를 전송되면 내가 당신을 믿고있어

NetworkStream stm = openStream(); 
ASCIIEncoding asen = new ASCIIEncoding(); 
byte[] ba = asen.GetBytes(data); 
Console.WriteLine("Transmitting....."); 
stm.Write(ba, 0, ba.Length); 

byte[] bb = new byte[1024]; 
while (true) 
{ 
    int k = stm.Read(bb, 0, 1024); 
    if (k != 0) 
    { 
     for (int i = 0; i < k; i++) 
      Console.Write(Convert.ToChar(bb[i])); 
     Console.Write(k); 
    } 
} 
+0

사용중인 라이브러리의 문서를 확인하십시오. 그리고 코드를 게시 한 내용은 무엇입니까? 많은 C#을 알지 못하지만이 코드는 로그인과 관련이 없습니다. – DumbCoder

+0

감사합니다. 여기 데이터는 로그온 메시지로 구성됩니다. –

답변

0

기자 측면이다.

  • LOGON message (35=A)
  • LOGON message (35=A)
  • 전송을받을 보내 Heartbeat messages (35=0)

I를받을 수정 서버에 연결할 필요로하는 FIX 서버에 로그인하려면 FIX 메시지를 처리하기 위해 FIX 라이브러리를 사용하는 것이 좋습니다. 고정 프로토콜에는 여러 메시지 (session messages, application messages 등)가 있으며 일부 메시지는 매우 복잡합니다. dotnet에는 http://quickfixengine.org/, java에는 C++ 및 quickfix/j을 사용했습니다.

라이브러리를 사용하는 경우 모든 라이브러리가 "session messages"이며, "application messages" 만 처리하면됩니다. NewOrderSingle(35=D)ExecutionReport(35=8)

FIX 연결을 계속 실행하려면 사용자 (또는 라이브러리)가 여러 "session messages"을 교환하여 ID를 동기화해야합니다. ID (양쪽)는 메시지를 올바르게 수신하는 것이 매우 중요합니다.

+0

고맙습니다. 나는 의심이 하나 더있다. quickfix를 사용하여 로그온 할 수있었습니다. 로그온 응답을받는. 그러나 응용 프로그램은 onlogon 메서드를 사용하지 않습니다. 또한 marketdata 요청을 보내려고 할 때 toApp()가 발생하지만 보내지는 않습니다. 이것에 대해 어떤 생각을 할 수 있습니까? –

+0

우리는 이것이 일어나는 몇 가지 이유가 있습니다. 여기에 게시하십시오 : (1) 세션 로그 파일 수정, (2) 세션 이벤트 파일 수정 및 (3) IApplication 코드. 보내려면 먼저 비밀번호 나 중요한 정보를 삭제하십시오. –

+0

안녕하세요. 그 오류를 해결했지만 새로운 것을 얻었습니다. 나는 MarketDataRequest를 보내려고합니다. 55 태그가 지정되지 않았다는 것을 알려주고 있습니다. 하지만 메신저 확실히 그 태그를 지정. 요청과 응답은 아래와 같습니다. 20160622-16 : 40 : 27.464 : 8 = FIX.4.49 = 13035 = V34 = 249 = XXXXX52 = 20160622-16 : 40 : 18.34356 = XXXXX55 = GBPUSD146 = 1262 = App123263 = 1264 = 0265 = 0267 = 2269 = 010 = 129 20160622-16 : 40 : 27.760 : 8 = FIX.4.49 = 13335 = 334 = 249 = XXXXX52 = 20160622-16 : 40 : 28.04956 = XXXXXX45 = 258 =이 메시지 유형에 대해 정의되지 않은 태그 371 = 55372 = V373 =210 = 193 I 아래 코멘트에 메시지 작성 코드도 첨부했습니다. –

관련 문제