tftp error #10054

MSDN上的10054错误号说明:WSAECONNRESET   (10054) 
  Connection reset by peer.  
 
  A existing connection was forcibly closed by the remote host. This normally results if the peer application on the remote host is suddenly stopped, the host is rebooted, or the remote host used a "hard close" (see setsockopt for more information on the SO_LINGER option on the remote socket.)
    也就是说,一个连接被对方重设。一个建立的连接被远程主机强行关闭,若远程主机上的进程异常终止运行(由于内存冲突或硬件故障),或者针对套接字执行了一次强行关闭,便会产生10054错误。针对强行关闭的情况,可用SO_LINGER套接字选项和setsockopt来配置一个套接字。
 
注:TFTP是基于UDP实现的。

 
windows的Socket编程中,可以使用系统提供的GetLastError()函数得到错误号.
我们程序中的10054号错误,后来调试发现主要是由于发送端的发送数据缓冲区没有及时正确的清理造成。
 
cuteftp最近一段时间传东西上去的时候老出现Socket 错误 = #10054.我查阅了一些资料,发现出现同一个问题的不少.但是我出现的情况是只有某个小于2M的特定文件传不上某些个服务器.我先是怀疑2003 sp2的问题,所以先卸载了其中的一台机器的sp2,依然.改变传输模式依然不能完全解决.后来找到了一个方法,把发送缓冲(SEND BUFFER)从默认的64k降低到2k,问题解决.
但是我百思不得其解,什么原因呢?难道真是传说中”七层防火墙”导致数据传输的时候被截了?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值