服务端用idhttpserver来接收xml数据包
来源:互联网 发布:vray for su3.4mac版 编辑:程序博客网 时间:2024/05/01 17:55
多个客户端同时向一个服务端发送xml数据包
服务端用idhttpserver来接收xml数据包,现在发现服务端程序经常莫名其妙死掉!
没有任何错误提示,直接关闭!接收数据量比较大!
idhttpserver的commandget方法是这样写的:
-----------------------------------
if requestinfo.command = post then
try
coinitialize(nil);
post_data := requestinfo.params.gettext;
try
if(post_data<>)then
begin
q_so.close;
q_so.sql.clear;
q_so.sql.add(insert into +v_tbname+ select seq_pc_ods.nextval,+post_data+,0,sysdate from dual);
q_so.prepare;
q_so.execsql;
//savefile(post_data,inttostr(v_suc_num+1)+.txt);
v_suc_num := v_suc_num +1;
if memo1.lines.count>300 then
memo1.lines.clear;
memo1.lines.add(post_data);
statusbar.panels[1].text:=成功接收:+inttostr(v_suc_num)+条,接收失败:+inttostr(v_fail_num) + 条;
end;
except on e: exception do
begin
write_err_log(接收失败:+e.message);
v_fail_num:=v_fail_num+1;
responseinfo.responseno := 500;
responseinfo.contenttext := post_data;
responseinfo.contentlength := length(post_data);
couninitialize;
exit;
end;
end;
finally
couninitialize;
end;
---------------------------------
这个问题已经困扰了好几天了,有时候一两个小时,有时候几分钟后程序就自动关闭!
请高手相助! 看看我写的代码有什么问题。。。。
发表者:dieghost
有可能是接收速度过快,在关闭数据库的同时又触发接收事件写数据库而造成异常关闭
是啊。。。同上,怎么会有你这样的问题呢。我去看一下
最好升级indy到9.0.11版了
d6/7自带的indy都有点问题的
indydemo里面有个这样的例子
可能在运行中的异常处理以后,httpserver断开了连接~ 你可以在里面多加active是否为false即可~
- 服务端用idhttpserver来接收xml数据包
- IdHTTPServer完成websocket服务端编写
- 用C#(asp.net)接收XML数据包(jsp)
- 怎样用C#(asp.net)接收XML数据包(jsp)
- 端口复用技术 数据包接收处理
- 接收二进制码流的服务端基本上做出来了
- 15、利用JQuery来接收XML数据
- 用IdHTTPServer控件做http server
- 用idhttpserver做web服务器的问题
- socket数据包接收错误
- 接收网络数据包
- 网卡如何接收数据包
- 网卡如何接收数据包
- 广播数据包的接收
- libpcap接收数据包(三)
- jrtplib接收数据包流程
- 接收缓冲区数据包
- 接收H248数据包流程
- Linux下mysql中文乱码解决方案
- 如何最大限度提高.NET的性能(南京捷帝科技 www.jiedichina.com)
- PHP框架完全掌握
- ls -la /usr/local/tmp
- 如何用dot net连接MySQL,及中文乱码问题解决
- 服务端用idhttpserver来接收xml数据包
- 孕妇随记(一)
- 国家法定节假日调整已形成方案
- 历届奥斯卡获奖电影
- 因为是你
- problem 1058
- 4种页面无刷新更新数据的技术
- 结构体中的位域
- 煤气涨价了