- PR -

同期・非同期UDPソケットプログラミング

1
投稿者投稿内容
freebird
常連さん
会議室デビュー日: 2006/11/07
投稿数: 22
投稿日時: 2006-11-09 16:06
私は、sendto,recvfrom,bind関数を用いてUDPソケットプログラミングを行っています。

同期・非同期についてですが、コンソール上でプログラミングを行っている場合、同期・非同期について気にする必要がないのでしょうか?

テキストには、ウィンドウ等を作成するときに、acceptやsendto関数がブロッキングを起こすため、同期ではなく非同期にすべきと書いてありました。

また、私はスレッドプログラミングを行っています。テキストに、非同期にすることで高速に転送可能と書いてありました。この場合も、ボタンやダイアログボックス等のwindowsプログラミングを前提にした話なのでしょうか?

よろしくお願いします。
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2006-11-09 16:38
引用:

freebirdさんの書き込み (2006-11-09 16:06) より:
同期・非同期についてですが、コンソール上でプログラミングを行っている場合、同期・非同期について気にする必要がないのでしょうか?


いいえ

引用:

また、私はスレッドプログラミングを行っています。テキストに、非同期にすることで高速に転送可能と書いてありました。この場合も、ボタンやダイアログボックス等のwindowsプログラミングを前提にした話なのでしょうか?


いいえ

ただし現実に非同期にする事で恩恵を受ける事が出来るか否かは別の問題です。

例えば数百のクライアントと同時に送受信を行うプログラムで同期通信していたら、他のクライアントを待たせてしまいますよね。数百のスレッドを立てれば待たせないかもしれませんが、そんな設計はスラッシング等を起こす危険があるので、現実的ではありません。こんな状況では非同期にするメリットは大きいでしょう。
1

スキルアップ/キャリアアップ(JOB@IT)