C# - TelNet Client


5.02.2019 / Serdar Kardan


C# - TelNet Client

Projenizde TCPIP üzerinde bir porttan data okumak gerekebilir. Bunu Telnet ile yapabilirsiniz.

Kendi uygulamanız içerisinde gerek duyduğunuzda basit bir Telnet Client kodu ile bunu halledebilirsiniz. 
 
Ben ihtiyaç duyduğumda sağlıklı çalışır bir kod bulabilmek için epey uğraştım. Sonunda mevcut örneklerden aşağıdaki şekilde derlenmiş bir kod bloğu oluşturdum ve belirttiğim IP adresinin ilgili portundan sürekli akan datayı bir DataTable içerisine almayı başardım. Sizin de işinize yarayacağını düşünüyorum.
private void btnStart_Click(object sender, EventArgs e)
        {
            string line;

            Int32 port = 1234;
            string TargetIP = "192.x.x.x";

            try
            {
                TcpClient myClient = new TcpClient(TargetIP, port);

                if (myClient.Connected)
                {
//Burada ben bir label' ın değerini değitirerek bilgi mesajı vermeyi tercih ettim...                    
lblStatus.Text = TargetIP + " - Port : " + port + " Connected";
                }

                NetworkStream myStream = myClient.GetStream();

                StreamWriter gidenVeri = new StreamWriter(myStream);
                StreamReader gelenVeri = new StreamReader(myStream);

                DataTable CDRDataTable = new DataTable();
                  
                while ((line = gelenVeri.ReadLine()) != null)
                {
                   // DataTable'a Row ekleniyor, daha önce açılan field gelen veri satırı ile dolduruluyor ve satır DataTable' a ekleniyor.

                    DataRow dr = CDRDataTable.NewRow();
                    dr["RawCdrData"] = line;
                    CDRDataTable.Rows.Add(dr);
                }
              }
                myClient.Close();
                myStream.Close();
            }
            catch (SocketException)
            {
                MessageBox.Show("Tanınmayan Host - " + TargetIP + " - Çıkış yapılıyor...", "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }

 

Burada bir method' da Datatable döndürürseniz elde ettiğiniz veriyi istediğiniz şekilde kaydetmeniz de mümkün olacaktır.
 
Yüksek miktarda veriyi SQL' e yazmaya kalktığınızda ise veri miktarı ile ilgili sorun yaşamanız muhtemel. Bunun için uyguladığım çözümü de bir sonraki yazıda paylaşacağım...
 
Sorularınız için yorumları kullanabilirsiniz...



5.02.2019 - 5725


Etiketler : TCPIP,Port,Telnet Client,Sample Code,Datatable,StreamWriter,StreamReader
Leave a Comment:

Bunlar da ilginizi çekebilir
Sql Server Yedek Alma ve Yedeği Geri Yükleme
Bu yazımızda SQL Server Management Studio ile veritabanı yedekleme ve geri yükleme, yani backup ve restore işlemlerini ele alacağız.
Internet Explorer 7 Problemleri
Internet Explorer 7 yi başlattığınızda boş bir Web sayfası görüntüleniyor
Windows 10 Ağ Profillerini Görüntüleme ve Silme
Windows 10 ile ağ profillerini yönetmeniz ve bağlanmakta sorun yaşadığınız ağları silip tekrar bağlanmanız gerekebilir.
 

En çok Okunanlar



Bumerang - Yazarkafe