お世話になります。
今winsockを使って簡単なサーバを作ろうとしています。
色々と関数について質問があります。
①accept
この関数は「待機中のソケットで接続されるのを待つ」という関数らしいのですが、
クライアント側から接続されるまでは、この関数のところで処理がずっと止まっているという認識でよいでしょうか?
②recv
この関数でデータを受信しますが、もし一度の受信処理で受信しきれなかった場合は具体的に言うとどう対応するのでしょうか?
調べたところによると、もう一度recvするらしいのですが、もう一度recvした時には受信できた部分を除いて、
受信できなかった部分から受信が再開されるという認識でよいでしょうか?
また、この関数の戻り値は受信したバイト数が返ってくるとのことなので、受信しきったら0が返ってきて、
それを受信完了と判断すればよいでしょうか?
まず、これだけの質問に答えていただけますでしょうか?
ほかにも沢山あるのですが、この回答によってまた質問も変わってきて、色々と派生していくと思いますので。
よろしくお願い致します。
winsockについて
Re: winsockについて
確かそうだったと思います。Ciel さんが書きました:クライアント側から接続されるまでは、この関数のところで処理がずっと止まっているという認識でよいでしょうか?
そうしないためには「非同期accept」というものを使います。詳しくはググってください。
確かそうだと思います。Ciel さんが書きました:受信できなかった部分から受信が再開されるという認識でよいでしょうか?
それでいいかもしれません。自信はありません。Ciel さんが書きました:受信しきったら0が返ってきて、
それを受信完了と判断すればよいでしょうか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)