在c#中通过套接字发送Iso8583消息

时间:2012-10-08 12:47:19

标签: c# sockets iso8583

我正在尝试通过套接字发送一条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);                

我错过了什么? 谢谢, 本

1 个答案:

答案 0 :(得分:2)

对我来说,似乎你打开了2个连接到同一个终点,

一个要写,另一个要读,主要是开始2个会话。

端点尝试在第一个连接上发回响应,因此您应该从第一个连接而不是从新的第二个连接读取。