用SocketConnection的兄弟来看看,我不相信你们没发现过这种问题。(100分)

  • 主题发起人 主题发起人 ivw
  • 开始时间 开始时间
I

ivw

Unregistered / Unconfirmed
GUEST, unregistred user!
我用SocketConnection
当SocketConnection.Connected :=true时
scktsrvr.exe多一个用户连接。但应用层就死了。应用层还没有任何的处理。
客户端也死了,不能再运行下去。以后所有的客户端都连接不上(scktsrvr.exe用户增加),
如果退出scktsrvr.exe程序,客户端就出现找不到服务器(No server available),
出现这种情况的时间不定,有时半小时一次,有时四五天出现一次。
为什么啊?
 
用TCP监听方式;
多一个客户多一个连接呀,怎么不行呢
 
我是用SocketConnection作的三层系统。
出现应用层死掉的情况不定,
有时当达到四、五十个用户也不会有问题。
但有时只有一两个用户也会出现,不知是什么原因,
如果哪位发现过这种情况也说说原因,怎样解决?
先谢了!~
 
我也碰到过这种问题。折腾了一年,后来索性回到两层结构。
我的情况是出现在从服务器读数据的时候,有时候会死。
建议:1.采用query,只下载必须的数据
2.分页下载
3.不要在design的时候设定active=true;
 
TO 无级变速:
我的问题比你的问题还要怪点,我是SocketConnection.Connected :=true时,就没有反应了,不能再运行下面的代码,它是一直在等代,一个小时都没反应。按理说我设置了半个小时会自到超时断开的。
当scktsrvr.exe关闭地,客户端就抛出了错误(No server available),客户端才有反应。
多谢你的建议:
 
没人来回答了么
 
我没有遇见过这个问题。我是在想可能中间层连接时出现的问题。
有没有在中间层用了showmessage这样类似的命令?
 
中间层没有处理任何代码啊。
再说连接几十个用户都没问题。但有时候几人用户也会连接不上。为什么啊。
顺便问一下,各位的应用服务器一般是连接多少个客户端?
 
没有遇到过。
 
服务器的配置如果是真正的双CPU则会出现这种死锁现象,好象单CPU服务器没有这种问题,不过还是有解决办法的
 
如果你的服务器上用了DataModule最好把所有的query之类的移到RemoteDataModule上。
 
http://www.efile.com.cn/efile/dfw@97546/18265_borland_socket_server_fixed_d5_to_d7.exe
超线程的修改。
 
还有 应用层 用 bde 一般能支持50个客户端
还有 应用层 用 ADO 一般能支持160个客户端
我的机子 C 1.1G 128M W2000
 
同意hfghfghfg
 
我的问题更奇怪,我在多线程中创建SOCKET,如果是现成自动释放就速度很快,如果手动释放,一个要3秒!如果多线程中调用COM,com中创建SOCKET,释放时会死机。
 
我也遇到过这种问题,一直 没弄清楚是怎么回事,听说客户那里的服务器是双CPU的,估计是这个原因了。因为其他单CPU的服务器都没出现过这个问题
 
我的计算机都是单CUP的啊。
也只有几个客户端的时候,应用层有时也会死掉。
当出现应用层死掉的时候,scktsrvr.exe增加了用户数,而我的应用层没有增加。
我的query之类都在RemoteDataModule上。
 
我也用过,没有什么问题啊。
优化办法,客户端在没有数据提交时,主动断开与应用层的连接
 
不行啊,昨天又出现了一次情况,
第十天了,又出现。头晕啊,应用层死了,用鼠标点击没有反应,
所有客户端连不上,结束应用层的任务后,再重新打开,就一切正常。
求救啊
 
后退
顶部