する質問をすることでしか得られない、回答やアドバイスがある。13TCP通信について勉強し始めて日が浅い者です。数値とビットマップ画像をTCPで送るプログラムを作成しています。数値は正常に受け取り表示ができました。大きな画像(1M以上)を送ろうとすると、ビルドは完了できますがソフトの起動ができません。overflowと表示されるため、(A)が問題だと思いますが他の方法が思いつきません。どなたかうまく送れる方法をご教示ください。500000//・・・1M以上を送る場合はここを10000000以上にしています。10;//・・・実際のデータ(数値+ビットマップ)サイズを指定する。//↑のs1はソケットです。}*ちなみに上のプログラムの場合、送り側で200kのビットマップが受信側では500k近いサイズになっています。attachmentクリップ1気になる質問をクリップするクリップした質問は、後からいつでもマイページで確認できます。クリップした質問に回答があった際、通知やメールを受け取ることができます。自分も答えを知りたい質問者以外のユーザにも役立つ評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。質問の評価を上げたことを取り消します低評価-評価を下げられる数の上限に達しました評価を下げることができません1日5回まで評価を下げられます1日に1ユーザに対して2回まで評価を下げられます質問の評価を下げるteratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。コメントをしてください。送信する質問の評価を下げる機能の利用条件この機能を利用するためには、以下の事項を行う必要があります。16:09コードの部分は前後の行を```(バッククオート3つ)で囲むと見やすくなります。コードの部分を選択してエディタで"</>"のボタンを押してもいいです。コードの部分は前後の行を```(バッククオート3つ)で囲むと見やすくなります。コードの部分を選択してエディタで"</>"のボタンを押してもいいです。18:16ご指摘ありがとうございます。コードを見やすくしました。ご指摘ありがとうございます。コードを見やすくしました。件sort評価が高い順sort新着順sort古い順linkcheckベストアンサー+1こんにちは。CtTCPのインスタンスをスタック上に確保しているのではないでしょうか?確かスタックのサイズはデフォルトで1MBytesでしたので、これを越えるサイズの領域をスタック上に確保しようとしてスタックオーバーフローが発生しているものと思われます。CtTCPのインスタンスをスタックではなくヒープ上に確保(newで生成)することをお勧めします。リークが怖い時は、C++11で使えるstd::unique_ptrを使えばリークしません。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。20:59ヒープ上に確保した結果、1M以上のファイルの送信に成功しました。ありがとうございました。ヒープ上に確保した結果、1M以上のファイルの送信に成功しました。ありがとうございました。キャンセル完了するlink0BMP_PICが固定サイズなので、画像サイズ問わず「ヘッダ類(BMP_PICのbmpfile以外のメンバ)+MAX_BMP_SIZE`」のサイズのデータが送信されるプログラムになっています。sizeはファイルサイズから正しく取得するbmpfileには送信側ではデータを入れない。画像データそのものは、もっと小さい固定長のバッファ(64KBとか128KBとか)に逐次読み込みつつ送信する。データサイズがあまり巨大でなくメモリに余裕があること前提なら、固定長ではなくファイルサイズ分のメモリを確保して一度に読み込み/送信してもよいとする方がよいと思います。分割して逐次送信は面倒くさいと思うかもしれませんが、受信側ではどうせやらないといけないことなのですから、方法は理解しておく必要があります。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。21:04ご指摘ありがとうございました。ファイルサイズ分のみを送るよう考えコードを修正していますが、また問題点が出てきました。質問を'https://teratail.com/questions/32780&#039;にしましたので、もしよろしければコメントをお願いいたします。ご指摘ありがとうございました。ファイルサイズ分のみを送るよう考えコードを修正していますが、また問題点が出てきました。質問を'https://teratail.com/questions/32780'にしましたので、もしよろしければコメントをお願いいたします。頂いたご意見への回答は行っておりません。