質問: socket通信で、通信終了のイベントが発生しない クライアント(windows)とサーバ(unix)とsocket通信をするアプリを作っています。処理内容はクライアントのデータファイルをサーバに送信(アップデイト)し、サーバ側でデータを解析し、その結果を印刷するという手順です。 winsockを使って、送信そのものはうまくいくのですが、サーバでデータを解析し結果を印刷するのに時間がかかり(10秒以上)、その間は送信終了のイベントが発生しません。これはサーバ側での処理を exec関数とwait関数で行っているので、正しい事態なのですが、データの送信が終わったら後はサーバ側で勝手にやって欲しいのです。サーバでの処理を system関数に置換えたり、バックグランド処理にしてもやはり処理が終わるまで送信終了のイベントが発生しません。何かいい方法をお教えください。
回答: なるほどー うーむ難しいですねー winsock1.senddata hogehoge doevents とすると、どうですか? またはサーバーが解析処理に入る前に、doeventsみたいなものをunix側で実行することは無理ですか? 非同期で実行はしているけど、その解析処理が占有しているために、クライアントに届かないなんてことは無いですか? すいません。かなり推測でお話をさせていただいてます。_(._.)_