SOCKET莫名出错!急!

zws101 2003-09-21 03:36:48
我的一个简单的SOCKET程序,在服务器端发消息,在客户端的OnRead事件中读消息。
运行的时间短的话不会出现问题,但运行时间长(比如一个晚上),就会出现EOLEException错误“Error Reading from Socket”,然后点击继续运行后(在调试状态)又会出现一个错误说需要加载一个DLL,最后是读取内存错误。

不知道各位大大有没有遇到过这种问题,有没有解决的方法??
这个问题很急,希望大家多多帮忙啊!
...全文
48 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Santos 2003-09-22
  • 打赏
  • 举报
回复
try...catch捕捉到错误后,throw即可,或空操作,应该可以吧
mme 2003-09-22
  • 打赏
  • 举报
回复
用这些控件就是问题多多,建议用winsock api就好多了,什么都可以自己控制
riverking 2003-09-22
  • 打赏
  • 举报
回复
一般情况好,我不用CB的Socket控件,它的控件确实有一些BUG,而且操控性,强壮性都不行。
建议:如果写类似QQ的聊天工具,就算了,如果写多线程或需要可靠性较高的程,还是用windows的API吧!MSDN中直接有例程,论坛上也较多,半个小时搞定,一劳永逸!
zws101 2003-09-22
  • 打赏
  • 举报
回复
问题找到了
原来不是TClientSocket控件的问题
而是程序中TSocketConnect控件的问题
由于TSocketConnect控件长时间不调用服务器端函数,ScktSrvr.exe把连接断了
所以便出现了上述错误

但现在出现了另外一个问题,我怎么样去把错误给屏蔽掉呢
把Application->OnException 置为空函数都不能屏蔽
不知是否有更好的方法
zws101 2003-09-22
  • 打赏
  • 举报
回复
看来也只能象7rainbow(jiejie)说的试试看了
7rainbow 2003-09-22
  • 打赏
  • 举报
回复
对于这种不确定的因素:

建议:
在服务器端发消息,在客户端的读消息的时候分别写一个记录文件。把每一次出现的情况及时间等状态记下来。以便分析,待问题解决后,再去掉。
supwjhuLoveCjj 2003-09-22
  • 打赏
  • 举报
回复
建议你参看一下:...\\Borland\CBuilder6\Examples\Internet\Chat
yesry 2003-09-22
  • 打赏
  • 举报
回复
接收过程中对方中断了。
zws101 2003-09-22
  • 打赏
  • 举报
回复
属性设置不就是ClientType和port吗
这都没问题啊
程序在运行不长的时间时时不会出错的。

不知道Error Reading from socket这个错误是由什么引起的,我一直查不到一点资料。
supwjhuLoveCjj 2003-09-22
  • 打赏
  • 举报
回复
TClientSocket属性设置里面检查一下。
zws101 2003-09-22
  • 打赏
  • 举报
回复
我的TClientSocket控件只连接了一次,以后就在OnRead事件中不断读取数据包。
而且我在控件的OnRead和OnError事件中加了出错处理,这样就算出问题,按道理也捕捉得到啊。
不会是哪个DLL出问题了吧,大家帮忙想想看大概会是什么原因呢?
zws101 2003-09-22
  • 打赏
  • 举报
回复
socket只连接一次
只是不断地在TClientSocket的OnRead事件中读取数据包
而且我在这个事件中加了Try...catch,在控件的OnError事件中也加了出错处理。
按道理这时候就算出错也能捕捉到啊

不会是哪个DLL出了问题了把
pp616 2003-09-21
  • 打赏
  • 举报
回复
没遇到过。好久没用TClientSocket了。
oceankang 2003-09-21
  • 打赏
  • 举报
回复
你的每一次SOCKET连接后,中止了吗
zws101 2003-09-21
  • 打赏
  • 举报
回复
而且用try..catch也捕捉不到异常
程序直接就退出了,真是头大啊

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧