>>199
だからね、TCP/IPと違ってUDPの場合は同時に複数のクライアントと通信する必要は無いんだよ
サーバーのメインループの中では
recvfrom() で電文を受信
受信した電文に応じた処理(英単語→日本語や辞書更新)
sendto() で電文を返信
のシーケンスを行う
よって、辞書更新中に他のクライアントからの電文を受信する事は無いんだよ
まぁサーバープロセスを複数動かすのであれば排他が必要かも知れんけどね

注意しなければならないのはクライアント側だ
sendto() で英単語を送信
recvfrom() で日本語の受信を待つ
これをブロッキングで動作させると、送信したパケットがロストした場合に recvfrom() で処理が止まってしまう
だからソケットをノンブロッキングにして recvfrom() を規定回数行って受信できなかった場合はタイムアウトとする様な
仕組みが必要だよ