recv関数によりデータを受信するには?

解決


るー  2007-05-31 23:49:21  No: 65255

ネットワークカメラを利用したプログラムを最近作りはじめました.
カメラはBB-HCM381で,開発環境はVC++です.

早速質問ですが,
recv関数を用いてデータの取得が出来なくて困っています.
はじめに,
[Winsockの初期化]->[ソケットの作成]->[ローカルポート番号の指定]->[サーバのIPアドレス取得]->[サーバとの接続]
を行い,ここまでは成功しているようです.
この後,
char* receive_order = "GET nphMotionJpeg?Resolution=320x240&Quality=Standard ********";
int send_flag = send(soc, receive_order, sizeof(receive_order), 0);
で画像を送るように命令を送り,次に,
char* recv_buf[20000];
recv(soc, recv_buf, sizeof(recv_buf), 0);
で,データを受け取ろうとしているのですが,
プログラムがrecv関数で止まってしまい,返ってきません.

ご教授ください.


とおりすがり  2007-06-01 00:12:32  No: 65256

「GET 」までしか送ってないからでしょ


επιστημη  2007-06-01 01:13:51  No: 65257

sizeof(receive_order) っていくつになります?
# 文字列の長さをsizeofで求めるなんて誰に習ったんだ...


るー  2007-06-01 01:31:24  No: 65258

ありがとうございます.
確かにsizeofを調べたら4になっていて,「GET 」までしか送られていませんでした.
全然気がつきませんでした.勉強不足です.
助かりました.


momomo  2007-07-20 22:12:37  No: 65259

私も同じようなプログラムを作成しています。
私の場合、sendをした後、応答パケットが返ってくるまでに異常に時間が
かかってます。Wiresharkで確認したところ、約55秒かかってます。
原因が分かる方教えてください、お願いします。
ちなみに、使用しているカメラはBB-HCM100です。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加