Chinaunix首页 | 论坛 | 博客
  • 博客访问: 569042
  • 博文数量: 97
  • 博客积分: 5090
  • 博客等级: 大校
  • 技术积分: 969
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-01 14:56
文章分类

全部博文(97)

文章存档

2011年(1)

2009年(1)

2008年(14)

2007年(37)

2006年(44)

我的朋友

分类: C/C++

2006-08-06 14:27:00

ErrorCode  =  10054  的原因只能是对方主机强制关闭socket吗?  
微软获取这个错误代码的机理是什么.  
如果是自己的网络繁忙会不会导致产生此错误代码.  
 
以上是在多线程环境下.  
 
---------------------------------------------------------------  
 
你运行下面的代码就可以知道了。  
           DWORD  ErrorCode  =  10054  ;  
           char  buff[128];  
           ::FormatMessage  (FORMAT_MESSAGE_FROM_SYSTEM,(void*)FORMAT_MESSAGE_FROM_STRING,ErrorCode,0,buff,128,0);  
           MessageBox(buff);  
---------------------------------------------------------------  
 
一般来说是连接被对方重设。一个建立的连接被远程主机强行关闭,若远程主机上的进程异常终止运行(由于内存冲突或硬件故障),或者针对套接字执行了一次强行关闭,便会产生10054错误。针对强行关闭的情况,可用SO_LINGER套接字选项和setsockopt来配置一个套接字。
阅读(9134) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~