2010-12-07 2 views

Antwort

0

bei der Spezifikation der Suche, es wäre unmöglich, hier eine vollständige Antwort zu geben - aber Sie begann zu erhalten, müssen Sie im Grunde die verschiedenen Nachrichten erstellen und sie nach unten um das Rohr zu senden. Da die Socket-Klasse ein Byte-Array anstelle einer Zeichenfolge benötigt, können Sie eine der Encoding-Klassen verwenden, um die unverarbeiteten Byte einer Zeichenfolge abzurufen. Wenn ich die Informationen korrekt aus Wikipedia lese:

byte[] echo = System.Text.Encoding.ASCII.GetBytes("0100"); 
socket.Send(echo); 

Haftungsausschluss: Ich habe noch nie ISO 8583 zu implementieren und die Referenz ich sah war nicht klar, ob die Codes in der Tat einfache ASCII-Zeichen waren (obwohl ich bin Wetten sie sind). Hoffentlich wird jemand, der mit dem Standard vertrauter ist, diese Annahme klären oder bestätigen.

1

Sie sollten zuerst die Spezifikation verstehen, an der Sie arbeiten; Ich erwarte, dass Sie etwas spezifischer als die bloße ISO8583-Nachrichtenspezifikation haben, etwas, das spezifisch für die erforderlichen Felder und den Inhalt ist. Das Wichtigste ist die Art und Weise, wie Sie die ISO8583-Felder von und zu der Nachricht erstellen und entsperren, basierend auf der Bitmap, die angibt, welche Felder vorhanden sind.

Wenn ich in der Vergangenheit ISO8583-Testclients in C# erstellt habe, habe ich zuerst eine Reihe von Klassen zusammengestellt, die eine Nachrichtenbitmap erstellen und deblockieren können. Sobald Sie das haben, benötigen Sie etwas Code, um Ihre Nachrichten zu erstellen und zu deblockieren. Diese setzen (oder testen) Bits in der Bitmap und extrahieren oder fügen dann die erwarteten Felder in einen Byte-Puffer ein.

Sobald Sie dies haben funktioniert das eigentliche Senden und Empfangen der Byte-Puffer-Nachrichten trivial.

5

Zuerst müssen Sie die ISO8583 message format verstehen. Für Echotestnachrichten sollte in der Revision 87 Ihre MTID 0800 sein und das Feld 70, der Network Management Information Code, sollte auf 301 gesetzt werden, was den Echotest anzeigt.

Der Aufbau einer ISO-Nachricht ist ziemlich kompliziert. (schamlose Werbung kommen) Ich OpenIso8583.Net freigegeben haben, einen Nachrichten-Parser/Builder for .NET, die in den besonderen Geschmack von ISO erweitert werden kann, das Sie verwenden

0
  //***************additional encoders*************** 
      UnicodeEncoding encoderUnicode = new UnicodeEncoding(); 
      UTF32Encoding encoder32 = new UTF32Encoding(); 
      UTF7Encoding encoder7 = new UTF7Encoding(); 
      UTF8Encoding encoder8 = new UTF8Encoding(); 
      //*************end of additionals************* 

      ASCIIEncoding encoder = new ASCIIEncoding(); 

über den Parser, auf iso einige Google tun 8583, vorzugsweise von 2003