tiankaijin

Results 2 issues of tiankaijin

1. 请问函数void Server::handNewConn()里面的eventLoopThreadPool_->getNextLoop()会不会变有竞态,是否存在将accept_fd分配给一个已经挂掉的loop或thread,因为毕竟是多线程。 ``` void Server::handNewConn() { while((accept_fd = accept(listenFd_, (struct sockaddr*)&client_addr, &client_addr_len)) > 0) { EventLoop *loop = eventLoopThreadPool_->getNextLoop(); ... } acceptChannel_->setEvents(EPOLLIN | EPOLLET); } ``` 2.EventLoop::runInLoop(Functor&& cb),每一个thread都有负责一个loop,loop在某一个thread里面一直循环。程序走到这里,一定是某个thread监听的fd有事件,那么这个if判断是否一定为真? ```...

请教一下,怎样正确使用tools里面的udp_server和udp_client检测Nat是否支持回环传输(FULL CONE NAT)? --------------------------------------- A机器的内网地址(192.168.1.14) B机器的内网地址(192.168.1.43) --------------------------------------- 我在A(192.168.1.14)机器上运行:udp_server 8888, 在B(192.168.1.43)机器上运行udp_client;然后运行sendto 192.168.1.14:8888 hello 此时A是可以收到hello的。但是我感觉我测试的方式有问题,请问是这样测试的吗,如果不是,您能不能把正确的方式跟我说一下?