[This message was posted by eyal berda of netex <[email protected]> to the
"Algorithmic Trading" discussion forum at http://fixprotocol.org/discuss/31.
You can reply to it on-line at http://fixprotocol.org/discuss/read/79d9df12 -
PLEASE DO NOT REPLY BY MAIL.]
do you know where can i test this fix message?
the third pary company does not give this support since its a demo environment
..
do you know where can i test this simple console app?
thanks
> it could be a lot of things: wrong sequence, wrong session parameters (
> session, version ), etc. the easy way to solve it is checking the server
> logs to see how your login message was handled by it. if it is quickfix
> based, check GLOBAL.event.log, GLOBAL.messages.log.
>
> cheers, Clebson Derivan
>
>
> > Hello forum members, I have a problem receiving fix server indication
> > when sending logon fix message I was creatig a c# console app program
> > using async request to a fix demo gateway using this code: using
> > System; using System.Text; using System.IO; using System.Net; using
> > System.Net.Sockets; using System.Security.Cryptography; using
> > System.Threading; namespace Simple_async_socket_coonnect {
> >
> > public static class GlobalVar {
> >
> >
> >
> >
> >
> > static Byte[] _globalValueByteGetreceive;
> >
> > /// <summary> /// Access routine for global variable. ///
> > </summary> public static Byte[] GlobalValueByteGetreceive {
> > get { return _globalValueByteGetreceive; } set {
> > _globalValueByteGetreceive = value; } } /// <summary> ///
> > Static value protected by access routine. /// </summary>
> > static Byte[] _globalValueByteGet;
> >
> > /// <summary> /// Access routine for global variable. ///
> > </summary> public static Byte[] GlobalValueByteGet { get {
> > return _globalValueByteGet; } set { _globalValueByteGet =
> > value; } }
> >
> > /// <summary> /// Global static field. /// </summary> public
> > static bool GlobalBoolean; }
> >
> > class Program {
> >
> >
> > static void Main(string[] args) {
> > Console.WriteLine(DoSocketGet("*****"));
> >
> >
> >
> > } static string DoSocketGet(string server) {
> >
> > //Set up variables and String to write to the server.
> > Random random = new Random(); Encoding ASCII =
> > Encoding.ASCII; StringBuilder nt = new StringBuilder();
> > nt.Append("8=FIX.4.4/9=136/35=A/49=*****/56=***/34=596");
> > //nt.Append("34=" + random.Next(1000) + " 52=" +
> > DateTime.UtcNow.ToString("yyyyMMdd-
> > HH:mm:ss") + " 98=0 108=30 554=" +
> > sha256encrypt("1bird2lake") + " 10=015"); nt.Append("/52="
> > + DateTime.UtcNow.ToString("yyyyMMdd-HH:mm:ss") +
> > "/98=0/108=30" + "/554=" + sha256encrypt("*****") +
> > "/10=118/");
> >
> > string Get = nt.ToString(); Byte[] ByteGet =
> > ASCII.GetBytes(Get); GlobalVar.GlobalValueByteGet =
> > ByteGet; Byte[] RecvBytes = new Byte[256];
> > GlobalVar.GlobalValueByteGetreceive = RecvBytes; String
> > strRetPage = null;
> >
> >
> >
> > Socket s = null; IPEndPoint hostEndPoint; IPAddress
> > hostAddress = null; int conPort = 5679; // Get DNS
> > host information. IPHostEntry hostInfo =
> > Dns.GetHostEntry(server); // Get the DNS IP addresses
> > associated with the host. IPAddress[] IPaddresses =
> > hostInfo.AddressList; hostAddress = IPaddresses[0];
> > hostEndPoint = new IPEndPoint(hostAddress, conPort);
> > // Creates the Socket to send data over a TCP
> > connection. s
> > = new Socket(AddressFamily.InterNetwork,
> > SocketType.Stream, ProtocolType.Tcp); // Connect to
> > the host using its IPEndPoint. // ManualResetEvent
> > connectDone = new ManualResetEvent(false);
> > s.BeginConnect(hostEndPoint, new
> > AsyncCallback(Connected), s);///async connection
> > request request // connectDone.WaitOne(1000,false);
> >
> > return strRetPage;
> >
> > } public static void Connected(IAsyncResult iar) { Socket sock
> > = (Socket)iar.AsyncState; try { sock.EndConnect(iar);
> > sock.BeginSend(GlobalVar.GlobalValueByteGet, 0,
> > GlobalVar.GlobalValueByteGet.Length, SocketFlags.None, new
> > AsyncCallback(SendData), sock);
> >
> >
> > } catch (SocketException) { Console.WriteLine("Unable to
> > connect to host"); } } static void
> > ReceivedData(IAsyncResult iar) { //I dont get a response
> > from the server here i dont stop here at break point //its
> > eather my code is wring or the fix message is wrong Socket
> > remote = (Socket)iar.AsyncState; int recv =
> > remote.EndReceive(iar); string receivedData =
> > Encoding.ASCII.GetString(GlobalVar.Gl-
> > obalValueByteGetreceive, 0, recv);
> > Console.WriteLine(receivedData); } private static void
> > SendData(IAsyncResult iar) {
> >
> >
> > // ManualResetEvent connectDone = new
> > ManualResetEvent(false); Socket server =
> > (Socket)iar.AsyncState; int sent = server.EndSend(iar);
> > server.BeginReceive(GlobalVar.GlobalValueByteGetreceive,
> > 0, GlobalVar.GlobalValueByteGetreceive.Length,
> > SocketFlags.None, new AsyncCallback(ReceivedData),
> > server); // connectDone.WaitOne(3000); } public static
> > string sha256encrypt(string phrase) { UTF8Encoding encoder
> > = new UTF8Encoding(); SHA256Managed sha256hasher = new
> > SHA256Managed(); byte[] hashedDataBytes =
> > sha256hasher.ComputeHash(encoder.GetBytes(phrase)); return
> > byteArrayToString(hashedDataBytes); }
> >
> > public static string byteArrayToString(byte[] inputArray) {
> > StringBuilder output = new StringBuilder(""); for (int i = 0;
> > i < inputArray.Length; i++) {
> > output.Append(inputArray[i].ToString("X2")); } return
> > output.ToString(); }
> >
> > } } I am sending this string as my login message
> > 8=FIX.4.4/9=136/35=A/49=****/56=MBT/34=1/52=20091230-
> > 18:41:27/=0/108=30/554=AD8C8A0692F9B051E0A6CA3ED6123F7430C3CBF08E-
> > 3ABF15E54F47D92E93C3C7/10=118/ and don't get any response
> > which means i am not getting into ReceivedData function I
> > am stuck at this point and I wil be glad to get some
> > direction what is the problem (might be my c# code or my
> > fix string)
> >
> > best regards eyal
[You can unsubscribe from this discussion group by sending a message to
mailto:[email protected]]
--
You received this message because you are subscribed to the Google Groups
"Financial Information eXchange" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/fix-protocol?hl=en.