VC++
kid5
这个作者很懒,什么都没留下…
展开
-
CAsyncSocket::OnSend的触发条件
1.使用connect或WSAConnect,套接字首次建立连接,在OnConnect函数触发后。2.使用accept或WSAAccept,套接字被接受以后。3.使用send,WSASend,sendto或WSASendTo操作失败,返回了WSAEWOULDBLOCK错误,而且缓冲区的空间变的可用原创 2013-08-30 21:12:00 · 1145 阅读 · 0 评论 -
CTime的输入数据要求
CTime是MFC提供的一个日期时间的管理类,通过CTimeSpan类可以实现秒级的时间加减。CTime初始化时会对日期时间的有效性进行检查,日期要求是1900年之后的日期时间,同时日期的月、日都必须在有效范围,否则会引起MFC的assert错误,导致程序终止。如果是来自外部的输入,数据在送入CTime前应进行数据有效性检查。原创 2013-09-07 21:26:13 · 575 阅读 · 0 评论 -
CAsyncSocket在发送大数据时的注意事项
CAsyncSocket::Send()函数由于不进行阻塞,因此如果连续发送大数据时,会可能出现数据拥塞,Send()返回 -1 。此时发送进度应该暂停,通过OnSend()函数获得发送时刻继续后续发送。但是,再次发送时,也应坚持Send函数的返回值,如果为-1,仍需等待。本以为通过OnSend获得发送时机就不会出现发送失败,今天被这个问题困了几个小时。原创 2013-09-06 23:24:07 · 1025 阅读 · 0 评论