本文整理汇总了C++中CTcpSocket::get_socket_status方法的典型用法代码示例。如果您正苦于以下问题:C++ CTcpSocket::get_socket_status方法的具体用法?C++ CTcpSocket::get_socket_status怎么用?C++ CTcpSocket::get_socket_status使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CTcpSocket
的用法示例。
在下文中一共展示了CTcpSocket::get_socket_status方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: socket_check_cb
void CNetBackend::socket_check_cb(ev::timer &w, int32 revents)
{
if ( EV_ERROR & revents )
{
GERROR() << "check socket connect timeout call back error:" << strerror(errno) << "\n";
w.stop();
abort_work( "socket_check_cb fail" );
}
int64 _now = ev_now(loop);
CTcpSocket *psocket = null;
vector<CTcpSocket *>::iterator itr = m_tcp_sockets.begin();
while ( itr != m_tcp_sockets.end() )
{
psocket = *itr;
itr ++;
if ( !psocket ) //this fd not use
continue;
if ( ES_CONNECTED == psocket->get_socket_status()
&& _now - psocket->get_connect_time() > DISCONNECT_TIMEOUT )
{
psocket->close_socket(); //该状态未与游戏服建立连接,可以直接关闭
psocket->set_socket_status( ES_NONE );
}
}
}