次のように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) の位置にいるときに別のリクエストを受け取ったらどうなるでしょうか。待機中のリクエストでキューを追加するにはどうすればよいですか? 別のリクエストに取り組んでいても、すべてのリクエストを処理するように変更するにはどうすればよいですか?