[Quickfix-developers] Initiator Does'nt Connect
Brought to you by:
orenmnero
|
From: Irfan <irf...@ya...> - 2006-09-19 15:34:20
|
I am using C# & QuickFix Initiator to Connect to FIX Gateway. but it does not
connect to the Gateway i think b/c OnLogout() Triggers as soon as this code
starts. There is no Exception. How can i see if socket s connected with FIX
Gateway b/c here it looks that Initiator Socket is not connected to FIX
Gateway. whenever i telnet FixGateway it got connected also i tried it with
my own socket application & it connects easily. Why Initiator is not
connecting. Can anybody guide me on that?
public class FixConnector: MessageCracker, QuickFix.Application
{
private SocketInitiator initiator;
private SessionID sessionId;
private Thread fixThread;
public FixConnector()
{
}
public void InitSession()
{
try
{
SessionSettings settings = new SessionSettings("session.txt");
FileStoreFactory storeFactory = new FileStoreFactory( settings );
MessageFactory messageFactory = new DefaultMessageFactory();
initiator = new SocketInitiator(this, storeFactory, settings,
messageFactory );
initiator.start();
SendLogonRequest();
}
catch(Exception ex)
{
Console.WriteLine(ex.StackTrace);
}
}
public void Start()
{
try
{
}
catch(Exception ex){Console.WriteLine(ex.StackTrace);}
}
public void Stop()
{
try
{
initiator.stop();
}
catch(Exception ex){Console.WriteLine(ex.StackTrace);}
}
public void onCreate( SessionID sessionID )
{
Console.WriteLine("Create " + sessionID);
sessionId = sessionID;
SendLogonRequest();
}
public void onLogon( SessionID sessionID )
{
//this.sessionId = sessionID;
Console.WriteLine("Logon -->" + sessionID);
}
public void onLogout( SessionID sessionID )
{
Console.WriteLine("Logout -->" + sessionID);
}
public void toAdmin( Message message, SessionID sessionID )
{
Console.WriteLine("toAdmin Message-->" + message);
}
public void toApp( Message message, SessionID sessionID )
{
Console.WriteLine("toApp Message-->" + message);
}
public void fromAdmin( Message message, SessionID sessionID )
{
Console.WriteLine("from Admin Message-->" + message);
}
public void fromApp(Message message, SessionID sessionID)
{
crack(message, sessionID);
}
public override void onMessage(QuickFix42.ExecutionReport
execrpt,SessionID sessionId)
{
}
public override void onMessage(QuickFix42.Heartbeat heartBeat, SessionID
sessionId)
{
Console.WriteLine(heartBeat.getTestReqID());
}
public override void onMessage(QuickFix42.Logon logonResp, SessionID
sessionId)
{
string rawData = logonResp.getRawData().getValue();
string[] rawDataArray = rawData.Split('|');
int errorCode = int.Parse(rawDataArray[0]);
string message = rawDataArray[1];
Console.WriteLine("Logon Response-->"+message);
}
public override void onMessage(QuickFix42.Logout logoutResp, SessionID
sessionId)
{
string rawData = logoutResp.getText().getValue();
Console.WriteLine("Logout Response from Server-->"+rawData);
}
public void SendLogonRequest()
{
QuickFix42.Logon logonReq = new QuickFix42.Logon();
string loginData = "77001,1090,oms.123,oms.123";
logonReq.set(new QuickFix.EncryptMethod(0));
logonReq.set(new QuickFix.RawData(loginData));
logonReq.set(new QuickFix.ResetSeqNumFlag(true));
//Session.sendToTarget(logonReq, sessionId);
Session.sendToTarget(logonReq, "TRUST", "DGCXFIX");
}
}
# default settings for sessions
[DEFAULT]
ConnectionType=initiator
ReconnectInterval=60
FileStorePath=store
FileLogPath=log
SocketConnectPort=9887
SocketConnectHost=10.168.76.10
SenderCompID=TRUST
# session definition
[SESSION]
# inherit ConnectionType, ReconnectInterval and SenderCompID from default
BeginString=FIX.4.2
TargetCompID=DGCXFIX
SocketConnectPort=9887
SocketConnectHost=10.168.76.10
StartTime=12:30:00
EndTime=23:30:00
HeartBtInt=20
DataDictionary=FIX42.xml
Irfan
--
View this message in context: http://www.nabble.com/Initiator-Does%27nt-Connect-tf2299205.html#a6388730
Sent from the QuickFIX - Dev mailing list archive at Nabble.com.
|