send 与 10053 的问题

fly_15 2008-07-01 09:03:09

//代理邮件信息
CString sLastData = "";

///////////////////////////////////测试用的数据,如果这里改i<11,则一切正常,如果改为i<12则在下面发送的时候就出现了10053错误信息
while(i<12)
{
sLastData += "Hello,World~\r\n" + sLastData;
i++;
}
DWORD nLen = sLastData.GetLength();
int left = nLen;
//////////////////////////////////////
while(left > 0)
{
int nSendRes = send(psvc->sockTcpToServer, sLastData.GetBuffer(0) + (nLen - left), left, 0);//不管数据量多大,这里都是直接返回,
//且没有出现过错误现象
if (SOCKET_ERROR == nSendRes) //如果发送包头错误
{
DWORD nErr = GetLastError();
break;
}
left -= nSendRes;
}

int nCount = send(psvc->sockTcpToServer,"\r\n.\r\n",strlen("\r\n.\r\n"),0);//错误出现在这边
if(nCount == SOCKET_ERROR)
{
DWORD nErr = GetLastError();
SetEvent(psvc->hSocks5Event);
break;
}
//需要说明:这段代码是在写邮件代理服务器的片段,SOCKET是连到163邮件服务器上的,望高手指点指点~真是郁闷~
...全文
378 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
cmh360 2010-06-14
  • 打赏
  • 举报
回复
请问是怎么解决的?
我跟你的情况一样
fly_15 2008-07-07
  • 打赏
  • 举报
回复
问题解决~
是因为服务器端因为等待太长时间关闭了我的SOCKET~跟这段代码没有关系~
不过应该是收到10054错误才对,真的是奇怪~
呵呵~
谢谢各位的帮助~
jyh_baoding 2008-07-04
  • 打赏
  • 举报
回复
是不是你的程序其它地方有错误啊
sanshao27 2008-07-03
  • 打赏
  • 举报
回复
错误原因:您的主机中的软件放弃了一个已建立的连接。
cnzdgs 2008-07-03
  • 打赏
  • 举报
回复
把while循环整个注释掉看看有没有错。另外检查一下程序中有没有内存越界的地方。
fly_15 2008-07-02
  • 打赏
  • 举报
回复
哎~
有没有高手~实在是没想法了~
scq2099yt 2008-07-02
  • 打赏
  • 举报
回复
1 0 0 5 3—W S A E C O N N A B O RT E D
软件造成连接取消。由于软件错误,造成一个已经建立的连接被取消。典型情况下,这
意味着连接是由于协议或超时错误而被取消的。
fly_15 2008-07-02
  • 打赏
  • 举报
回复
接收方是远程邮件服务器,这里我用来调试的是SMTP.163.COM
fangzheng2008 2008-07-02
  • 打赏
  • 举报
回复
发送超时或协议终止,有可能时接收方有问题
fly_15 2008-07-02
  • 打赏
  • 举报
回复
自己顶下~还是没解决~
fly_15 2008-07-01
  • 打赏
  • 举报
回复
我是用CString 来存储数据~
cnzdgs 2008-07-01
  • 打赏
  • 举报
回复
这段代码中看不出错误,检查一下其它地方有没有内存越界。
fly_15 2008-07-01
  • 打赏
  • 举报
回复
我现在是数据量小点就可以,大的就不行~
WecanHuang 2008-07-01
  • 打赏
  • 举报
回复
后来自己好了
不知道何故
WecanHuang 2008-07-01
  • 打赏
  • 举报
回复
10053的问题我也碰到过
不过没有解决

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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