ネットワークカメラを利用したプログラムを最近作りはじめました.
カメラは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関数で止まってしまい,返ってきません.
ご教授ください.
「GET 」までしか送ってないからでしょ
sizeof(receive_order) っていくつになります?
# 文字列の長さをsizeofで求めるなんて誰に習ったんだ...
ありがとうございます.
確かにsizeofを調べたら4になっていて,「GET 」までしか送られていませんでした.
全然気がつきませんでした.勉強不足です.
助かりました.
私も同じようなプログラムを作成しています。
私の場合、sendをした後、応答パケットが返ってくるまでに異常に時間が
かかってます。Wiresharkで確認したところ、約55秒かかってます。
原因が分かる方教えてください、お願いします。
ちなみに、使用しているカメラはBB-HCM100です。
ツイート | ![]() |