私は大きな問題がありますが、おそらくそれは私のためだけに大きいです:)。 "terminal.Bind(client);" IPが悪い場合、この行は私のプログラムをハングアップさせます。私は.. IPは、10秒後に間違っている場合ので、すべてのプログラムがハングアップしている5Sが作動した後、このプログラムを停止したい:(C#一定時間後にプログラムを停止する方法は?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Rebex.TerminalEmulation;
using Rebex.Security;
using Rebex.Net;
namespace Routers_info_v._1
{
class Program
{
static void Main(string[] args)
{
Telnet client = new Telnet("192.168.1.1");
VirtualTerminal terminal = new VirtualTerminal(80, 25);
terminal.Bind(client);
terminal.SendToServer("pass\r");
terminal.SendToServer("sys ver\r");
TerminalState state;
do
{
state = terminal.Process(2000);
} while (state == TerminalState.DataReceived);
terminal.Save("terminal.txt", TerminalCaptureFormat.Text, TerminalCaptureOptions.DoNotHideCursor);
terminal.Unbind();
terminal.Dispose();
}
}
}
あなたはそれをスレッドに投げて一定時間後にスレッドを終了したいと思うでしょう。 – SQLMason
〜30秒待っていますか?私はそれが接続を確立する一般的なタイムアウト期間だと思う。つまり、不正なIPへの接続を試みる際にコードがブロックされている可能性があります。私はそれが最終的に戻って、おそらく例外を引き起こすはずだと思います。ちょうど推測。 – Bengie