本文整理汇总了C++中TcpSocket::start方法的典型用法代码示例。如果您正苦于以下问题:C++ TcpSocket::start方法的具体用法?C++ TcpSocket::start怎么用?C++ TcpSocket::start使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TcpSocket
的用法示例。
在下文中一共展示了TcpSocket::start方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: handle_input
bool TcpAccept::handle_input() {
sockaddr_in client_ip;
socklen_t ip_size;
int fd;
while (1) {
ip_size = sizeof(sockaddr_in);
fd = accept(m_fd, (sockaddr*)&client_ip, &ip_size);
if (fd >= 0) {
if (fd > m_reactor.handle_size()) {
close(fd);
continue;
}
TcpSocket *ts = TcpSocketPool::create(m_reactor);
if (NULL == ts) {
close(fd);
continue;
}
if (false == ts->start(fd, client_ip, m_ip, m_timeout)) {
TcpSocketPool::remove(ts);
continue;
}
LOG4CPLUS_INFO(log4cplus::Logger::getRoot(), "accept a new socket fd="<<fd);
} else {
if (errno == EAGAIN || errno == EINTR || errno == EMFILE || errno == ENFILE) {
return true;
}
else {
return false;
}
}
}
};