【发布时间】:2020-02-09 18:37:27
【问题描述】:
我刚刚开始使用 NETMQ REQ/RES 模式来发送和接收来自两端的请求响应。客户端来自 IIS,服务器来自 Windows 服务。我的问题是当我停止服务并尝试客户端请求时。客户端进入无限循环并且不返回。
服务器代码
using (var server = new ResponseSocket())
{
server.Bind("tcp://10.150.0.242:5556");
while (true)
{
try
{
// using (var client = ctx.CreateRequestSocket())
{
string fromClientMessage = server.ReceiveString();
string result = DigitalSignInitialization(fromClientMessage);
server.Send(result);
Console.WriteLine("From Client: {0}", fromClientMessage);
}
}
catch(Exception Ex) { server.Send("Failure"); }
}
}
客户端代码
using (NetMQContext ctx = NetMQContext.Create())
{
using (var client = ctx.CreateRequestSocket())
{
//try
// {
//client.Connect("tcp://10.150.0.242:5556");
client.Connect(strNCODE_ADDRESS);
client.Send(json);
fromServerMessage = client.ReceiveString(new TimeSpan (0, 0, 0, 30));
if(fromServerMessage != "Success")
{
fromServerMessage="Failure";
return "<RESULT><DIGITAL_SIGNATURE>DIgital Signature Failed</DIGITAL_SIGNATURE></RESULT>";
}
}
}
代码无法返回。 请帮助我提前谢谢
【问题讨论】: