0

ソケット経由で Iso8583 メッセージを送信しようとしていますが、使用したコードがハングしているようです!

string NewISOmsg = iso8583.Build(DE, MTI);

// Send Message
byte[] data = new byte[1024];
IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("66.147.172.198"), 6181);
Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
data = Encoding.ASCII.GetBytes(NewISOmsg);
server.SendTo(data, data.Length, SocketFlags.None, ipep);
IPEndPoint theSender = new IPEndPoint(IPAddress.Parse("66.147.172.198"), 6181);
EndPoint tmpRemote = (EndPoint)theSender;
int recv = server.ReceiveFrom(data, ref tmpRemote);
string ourResponse = tmpRemote.ToString();
server.Close();               

// Output response
Response.Write(ourResponse);                

私は何が欠けていますか?ありがとう、ベン

4

1 に答える 1

2

私には、同じエンドポイントへの2つの接続を開いているようです。

1つは書き込み用、もう1つは読み取り用で、基本的に2つのセッションを開始します。

エンドポイントは最初の接続で応答を返送しようとするため、新しい2番目の接続からではなく、最初の接続から読み取る必要があります。

于 2012-10-08T12:56:06.620 に答える