我跟客户那边进行传输接口测试,他发送报文过来我这边,然后我接收响应返回,客户那边刚发过来的前几条数据还能够接收,但再多发就收不到了,只显示有新IP请求,但不显示接收的数据了,设置断点调试代码也执行不下去,就一直卡在那里,请问各位大神这是什么问题? 有什么办法可以解决吗?这个是客户那边发过来的报文
<?xml version="1.0" encoding="gb2312" ?>
<xmlSLZR>
<funcode>104</funcode>
<hy_id>0941</hy_id>
<hydj>350</hydj>
<sqtime>88033</sqtime>
</xmlSLZR>
这边是我接收显示的数据16:26:30 服务启动
16:26:33 有新请求,IP:192.168.1.128
16:26:33 接收到的数据:
<?xml version="1.0" encoding="gb2312" ?>
<xmlSLZR>
<funcode>104</funcode>
<hy_id>0941</hy_id>
<hydj>350</hydj>
<sqtime>88033</sqtime>
</xmlSLZR>
16:26:35 有新请求,IP:192.168.1.128
16:28:20 有新请求,IP:192.168.1.128
16:36:12 有新请求,IP:192.168.1.128这里就一直显示有新请求,但是不显示接收到的数据了
还有我想应该不是网速的问题,因为我自己用局域网来发送和接收,发多了之后也是这样,只显示有新请求,不显示接收数据,一直卡在那里
<?xml version="1.0" encoding="gb2312" ?>
<xmlSLZR>
<funcode>104</funcode>
<hy_id>0941</hy_id>
<hydj>350</hydj>
<sqtime>88033</sqtime>
</xmlSLZR>
这边是我接收显示的数据16:26:30 服务启动
16:26:33 有新请求,IP:192.168.1.128
16:26:33 接收到的数据:
<?xml version="1.0" encoding="gb2312" ?>
<xmlSLZR>
<funcode>104</funcode>
<hy_id>0941</hy_id>
<hydj>350</hydj>
<sqtime>88033</sqtime>
</xmlSLZR>
16:26:35 有新请求,IP:192.168.1.128
16:28:20 有新请求,IP:192.168.1.128
16:36:12 有新请求,IP:192.168.1.128这里就一直显示有新请求,但是不显示接收到的数据了
还有我想应该不是网速的问题,因为我自己用局域网来发送和接收,发多了之后也是这样,只显示有新请求,不显示接收数据,一直卡在那里
//根据命令处理数据
#endregion
#region 将回答发送给终端方
Byte[] buffer = System.Text.Encoding.UTF8.GetBytes(answer);
//HTTP头
string responseText = e.MyProccess.http_protocol_versionstring + " 200 OK\r\n";//HTTP header
responseText += "Content-Type: text/xml;charset=gb2312\r\n"; // 指定文件类型,编码
responseText += "Content-Length: " + buffer.Length.ToString() + "\r\n"; //指定发送数据大小
responseText += "Connection: close\r\n"; //指示客户端关闭连接
responseText += "\r\n"; //结束HTTP头 //用字符串的方式写入
e.MyProccess.outputStream.Write(responseText);//写HTTP头
e.MyProccess.outputStream.Write(answer);//写数据
#endregion
}
catch (Exception exerr)
{
WriteText("错误提示:\r\n" + "出现异常错误, 错误为(" + exerr.Message + ")");
} }private void frmSend_Load(object sender, EventArgs e)
{
config = new Config();
new frmSc();
sv = new MyHttpServer(int.Parse(config.Http_Port)); thread = new Thread(new ThreadStart(sv.listen));
thread.IsBackground = true;
thread.Start(); //新连接
sv.acceptClientEvent += new MyHttpServerEventHandler(sv_acceptClientEvent);
//处理过程
sv.postProccessEvent += new PostProccessEventHandler(sv_postProccessEvent);
//错误
sv.proccessFailureEvent += new MyHttpServerEventHandler(sv_proccessFailureEvent); WriteText("监听服务和发送服务已经启动");
}
{
try
{
string msg = e.Sr.ReadToEnd();//接收到的数据
WriteText("接收到的数据:\r\n" + msg);
//return;
XmlDocument GetXml = new XmlDocument();
GetXml.LoadXml(msg);//把字符串装载到XML文档里面
//根据命令处理数据
#endregion
“中间这部分是处理数据的代码(省略)” #region 将回答发送给终端方
Byte[] buffer = System.Text.Encoding.UTF8.GetBytes(answer);
//HTTP头
string responseText = e.MyProccess.http_protocol_versionstring + " 200 OK\r\n";//HTTP header
responseText += "Content-Type: text/xml;charset=gb2312\r\n"; // 指定文件类型,编码
responseText += "Content-Length: " + buffer.Length.ToString() + "\r\n"; //指定发送数据大小
responseText += "Connection: close\r\n"; //指示客户端关闭连接
responseText += "\r\n"; //结束HTTP头 //用字符串的方式写入
e.MyProccess.outputStream.Write(responseText);//写HTTP头
e.MyProccess.outputStream.Write(answer);//写数据
#endregion
}
catch (Exception exerr)
{
WriteText("错误提示:\r\n" + "出现异常错误, 错误为(" + exerr.Message + ")");
} }private void frmSend_Load(object sender, EventArgs e)
{
config = new Config();
new frmSc();
sv = new MyHttpServer(int.Parse(config.Http_Port)); thread = new Thread(new ThreadStart(sv.listen));
thread.IsBackground = true;
thread.Start(); //新连接
sv.acceptClientEvent += new MyHttpServerEventHandler(sv_acceptClientEvent);
//处理过程
sv.postProccessEvent += new PostProccessEventHandler(sv_postProccessEvent);
//错误
sv.proccessFailureEvent += new MyHttpServerEventHandler(sv_proccessFailureEvent); WriteText("监听服务和发送服务已经启动");
}