ネットワークカメラの制御について

解決


momomo  2007-08-04 02:17:28  No: 65960

Winsockを使ってネットワークカメラを制御するプログラムを作成しています。
使用しているカメラはBB-HCM100です。

処理手順は:
1)ソケットの作成---socket()
2)サーバ(ネットワークカメラ)のIPアドレスとポート番号を設定
3)サーバに接続---connect()
4)サーバに GET リクエストを送信---send()
5)サーバからデータを受信---recv()
6)受信データの処理

4)のGETリクエストを送信する処理は、以下のような文字列をsendの二番目の引数とした。
char *reqbuf[] = {
"GET /SnapshotJPEG?Resolution=320x240&Quality=Standard HTTP/1.1\r\nAuthorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxx==\r\n"
};

xxxxxxxxxxxxxxxxxxxxxxxxxxのところにネットワークカメラのユーザーIDやパスワードをBase64で変換した文字列が入る。

問題はsend()をした後、ネットワークカメラからの応答に異常に時間がかかってます。Wiresharkで確認したところ、約55秒かかってます。

このようなことが起こる原因について、だれか教えてください。
よろしくお願いします。


とおりすがり  2007-08-04 02:34:50  No: 65961

うろおぼえですが…
GETは最後に空の改行が要ったような記憶が
reqbufの文字列の最後にもう1セット"\r\n"を追加してみては?


momomo  2007-08-04 03:20:27  No: 65962

とおりすがりさんの言うとおりでした。

"\r\n"を追加したら、応答パケットがすぐに返ってきました。

ありがとうございました。


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

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






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