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