0

コードはテストされ、ローカル コンピューターで動作しますが、サーバー側では動作しません。
だから、私はlog4netを使用して何が起こるかを確認します。log4net が生成するものは次とおり
です。

ローカル コンピューターとサーバーの違いは何ですか (コードをテストするために somee.com の無料ホスティングを使用しています)。許可の問題が原因である場合、同じソースからスナップショットをダウンロードしてサーバー側のフォルダーに保存する別のコードをテストしましたが、保存できます。
それで、コードに何か問題がありますか?

コードはクラスまでのみ実行されRec、残りのコードには進みません。その後に行くはずvideo_NewFrameなのですが、ログファイルの記録から、続きません。
完全なコードはここで見ることができます: http://pastebin.com/VCjVj3uc

protected void Button1_Click(object sender, EventArgs e)
{
    string usr = "http://IPaddress.com:8081/snapshot.cgi";
    log.Info("DDNS: " + usr);
    log.Info("Starting JPEG stream...");
    //camera source
    JPEGSource = new JPEGStream(usr);
    log.Info("***JPEGSource = new JPEGStream(usr);***");
    JPEGSource.Login = login;
    JPEGSource.Password = password;
    log.Info("***JPEG login & password***");
    JPEGSource.Start();
    log.Info("JPEGSource.Start()");
    JPEGSource.NewFrame += new NewFrameEventHandler( video_NewFrame );
    log.Info("***Goto video_NewFrame class***");

    //System.Threading.Thread.Sleep(6000);
    //Label2.Text = Label2.Text + streamingSource + "<br> "; 
    this.Label1.Text = "Camera Source: " + usr;
}

private void video_NewFrame(object sender, NewFrameEventArgs eventArgs)
{
   Bitmap image = (Bitmap)eventArgs.Frame.Clone();
   log.Info("***Bitmap image = (Bitmap)eventArgs.Frame.Clone();***");
   width = image.Width;
   height = image.Height;

   frames.Enqueue((Bitmap)image.Clone());
   log.Info("***Cloning frame***");

   if (!IsRecording)
   {
       log.Info("Entering thread");
       IsRecording = true;
       Thread th = new Thread(DoRecording);
       th.Start();
   }
}

注: カメラの IP アドレスは DDNS の IP アドレスです。

4

0 に答える 0