100分相送:程序运行一段时间出现错误,原因不明。(100分)

  • 主题发起人 主题发起人 端木飘零
  • 开始时间 开始时间

端木飘零

Unregistered / Unconfirmed
GUEST, unregistred user!
一个文件传输程序:
使用到的控件:
客户端:TNMStrm,TClientSock
服务器端:TNMStrmServ,TServerSock

工作原理:
客户端通过GPRS拨号,连通后客户端TClientSock连接服务器端TServerSock,连通后,使用TNMStrm将文件上传到固定IP的服务器上。

问题:
程序运行一段时间后,服务器端程序死掉,估计原因出在TNMStrmServ,客户端也保持待机状态,双方无法自动释放winsock。有时客户端报错,显示10035,10034,10037等错误.TClientSock和TServerSock还是可以连接并自动断开。请问这是怎么回事。
 
TNMStrmServ这个控件没有用过,关注!
 
出错关闭Sock
 
捕捉不到sock出错信息
 
很像内存泄露,程序死掉时,内存方面有什么异常吗?
 
10035 Operation would block
10037 Operation already in progress
10034没找到
看错误解释明显是你的Socket写法有错误,10035是因为通讯连接被堵塞了,10037是因为已经打开了socket,你又去打开
还是仔细检查一下代码吧,估计不是一两个地方的错误
 
我也使用了GPRS拨号,使用文件传输的方式和你不同。
我在客户端和服务端都使用idudpserver进行信息交换,自己定义的信息交换。
文件传输使用了IdTrivialFTP1和IdTrivialFTPServer1,觉得比较稳定。GPRS速度比较慢,你把buffersize可以设置小一些。
 
这是TCP/ip的错误,好好查查,应该是连接出现异常了
 
出错的连接一定要及时关闭,释放资源
TClientSock和TServerSock也可以传输文件,为何还要用TNMStrm
 
用事件捕捉,
自己慢慢找原因,别人很难知道的
 
后退
顶部