recvfrom() を使用して、受信したパケットごとにパケットを受信する単純な UDP サーバー プログラムを作成したいと思います。プログラムはそれを処理します。元のソース コードは次のようになります。
for(;;){
n = recvfrom(sockfd, mesg, 10000, 0 ptr_sockaddr, &len);
process(mesg);
}
しかし、このように、process()
関数が少し時間がかかると、recvfrom()
. そのため、新しいプロセスまたは新しいスレッドを作成する必要があり、
- このシナリオにはどちらが適していますか? スレッドまたはプロセス?なぜ?
mesg
プロセス間またはスレッド間通信をどのように処理するかというと、新しいプロセス (またはスレッド) に文字列を渡す必要があるということです。また、パケットの受信が処理よりもはるかに速い場合、どのようなバッファリング方法を使用すればよいですか?
いくつかのソース コード スニペットを提供できる場合は、そのほうがよいでしょう。
ありがとう!