我有一個大問題,但可能它只對我很大:)。 「terminal.Bind(客戶端);」如果IP不好,這行會導致我的程序掛起。我想停下來,因爲工作5S後該計劃,如果IP是錯誤的10S畢竟程序掛.. :(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 2011-12-27 16:19:55
你等了30秒?我認爲這是建立連接的一般暫停時間。換句話說,您的代碼可能在嘗試連接到不良IP時阻塞。我認爲它最終應該會回來,可能會導致例外。只是一個猜測。 – Bengie 2011-12-27 17:18:47