c/c++でwin socketを使ったチャットプログラムを作りたいです。(私はまったくの初心者です。) 最初の質問は、クライアントがサーバーからパケットを受信したかどうかを確認する方法についてです。たとえば、サーバーは「aaaa」をクライアントに送信します。クライアントがパケット「aaaa」を受信しない場合、サーバーはパケットを再送信する必要があります。とはいえ、調べ方がわかりません。これが私の考えの打撃です。最初のケース。
サーバー --- "aaaa" ---> クライアント。
サーバーは、クライアントからの確認メッセージの待機時間のようなものをチェックします。
クライアント --- 「受け取りました」 ---> サーバー。
サーバーはパケットを再送信しません。
他のケース。
サーバー --- "aaaa" ---> クライアント。
サーバーはタイムアウトするまでクライアント メッセージを待機してい
ます サーバー --- "aaaa" ---> クライアントが再び。
しかし、これらはおそらく不適切です。2 番目のケースを見てください。サーバーはクライアントからのメッセージをしばらく待っています。タイムアウトになると、サーバーはパケットを再送信します。この場合、クライアントはパケットを 2 回受信する可能性があります。
2 番目の質問は、無制限のサイズのパケットを送信する方法です。本には、パケットにはタイプ、サイズ、およびメッセージが必要であると書かれています。それに続いて、特定のサイズのメッセージしか送信できません。でも1Mbyte以上のメッセージを送りたい(無制限)
どうやってするか?
誰でも良いリンクを持っているか、正しいロジックをできるだけ簡単に説明してください。
ありがとう。