我在 C 中创建了 DNS 代理,如下所示:
"socket" - create socket to serve client
"bind" - bind that socket
while (true) {
"recvfrom" - a package from socket
"socket" - create socket for dns server
(1)
"sendto" - send package to dns server
"recvfrom" - respond from dns server
"sendto" - send respond to client
}
它正在工作。但是,如果我在位置 (1) 时收到另一个请求怎么办?如何添加一些等待请求的队列?即使我正在处理另一个请求,如何改变我为每个请求提供服务的这一点?