25 Temmuz, 2009
Kategori:
yazılım |
Yorum ekle »
|
Bilgisayarım evde sürekli açıktır ve dışarıdan erişirim. Bazen TTNet’teki bazı problemlerden dolayı bağlantı kopuyor. Modemi kapatıp açmak gerekiyor. Evde olmadığım zaman otomatik olarak modeme restart atacak bir program yazdım. Hem bana hem size yarasın.
Ayrıca modem menüsünden falan uğraşmamak için de iyi bir yol, direk exe’yi çalıştır modemi yeniden başlatsın.
US Robotics modemin arayüzünü inceleyip hangi adrese ne POST etmemiz gerektiğini buldum.
Ve de şuradan aldığım HTTP POST fonksiyonunu biraz düzenledim.
Sonuç olarak modemi yeniden başlatan C# kodu şu şekildedir;
private void YenidenBaşlat()
{
//modem IP'niz değiştirmediyseniz 192.168.2.1 olacaktır. Ben değiştirmiştim, 10.0.0.2 yapmıştım. Yerine yazın.
// modem şifrenizi de abcd123 yerine yazın
HttpPost("http://10.0.0.2/cgi-bin/login.exe", "pws=abcd123");
HttpPost("http://10.0.0.2/cgi-bin/restart.exe", "savesetting=REBOOT ROUTER");
}
private void HttpPost(string uri, string parameters)
{
WebRequest webRequest = WebRequest.Create(uri);
webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.Method = "POST";
byte[] bytes = Encoding.ASCII.GetBytes(parameters);
Stream os = null;
try
{
webRequest.ContentLength = bytes.Length;
os = webRequest.GetRequestStream();
os.Write(bytes, 0, bytes.Length);
}
catch (WebException ex)
{}
finally
{
if (os != null)
{
os.Close();
}
}
}
|