telnet şifresi girme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
sahinteknik
Üye
Mesajlar: 2
Kayıt: 15 Nis 2019 12:59
İletişim:

telnet şifresi girme

Mesaj gönderen sahinteknik »

Elimde c# ile yazılmış bir program var. bu program ile telnet üzerinde bir cihaza bağlanıyorum. bunu delphi de indy bileşenleri ile bağlanmayı denedim. bağlandım ve cihaz şifre soruyor. şifre gönderdim kabul etmiyor. hatalı şifre diyor. aşağıda c# ve benim kodu gönderiyorum. bir yerede hata var ama c# ı tam bilmedim için sorunu bulamadım.
c# kodu


[*]case State.PreLogin:
/*
* Varsayılan şifre olan 1234'ü yolla.
*
* Send default password 1234
*/
string resp = Encoding.ASCII.GetString(m_buffer, 0, recvd);
if (resp.EndsWith("Password: "))
{
Byte[] data = Encoding.ASCII.GetBytes("1234");
m_client.GetStream().Write(data, 0, data.Length);
m_state = State.Login;
}
Delphi Kodu
[*]procedure TfrmTelnetDemo.edtSendCommandKeyPress(Sender: TObject;
var Key: Char);
var
i : integer;
s : string;
begin
if IdTelnetDemo.Connected then
if (key = #13) then
begin
s := edtSendCommand.text;
for i := 1 to length(s) do
IdTelnetDemo.SendCh(s);
IdTelnetDemo.SendCh(#13);
edtSendCommand.Clear;
edtSendCommand.SetFocus;
end;

end;
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3077
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: telnet şifresi girme

Mesaj gönderen sabanakman »

Delphi 2009 ve üstü sürümlerde string bilgiler unicode desteğine kavuştu ve cihazınız sanırım ansi string tipiyle haberleşiyor. Tip dönüşümlerine dikkat edin isterseniz.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
sahinteknik
Üye
Mesajlar: 2
Kayıt: 15 Nis 2019 12:59
İletişim:

Re: telnet şifresi girme

Mesaj gönderen sahinteknik »

çok teşekkürler
ertank
Kıdemli Üye
Mesajlar: 1650
Kayıt: 12 Eyl 2015 12:45

Re: telnet şifresi girme

Mesaj gönderen ertank »

sahinteknik yazdı: 15 Nis 2019 01:02 Elimde c# ile yazılmış bir program var. bu program ile telnet üzerinde bir cihaza bağlanıyorum. bunu delphi de indy bileşenleri ile bağlanmayı denedim. bağlandım ve cihaz şifre soruyor. şifre gönderdim kabul etmiyor. hatalı şifre diyor. aşağıda c# ve benim kodu gönderiyorum. bir yerede hata var ama c# ı tam bilmedim için sorunu bulamadım.
c# kodu


[*]case State.PreLogin:
/*
* Varsayılan şifre olan 1234'ü yolla.
*
* Send default password 1234
*/
string resp = Encoding.ASCII.GetString(m_buffer, 0, recvd);
if (resp.EndsWith("Password: "))
{
Byte[] data = Encoding.ASCII.GetBytes("1234");
m_client.GetStream().Write(data, 0, data.Length);
m_state = State.Login;
}
Delphi Kodu
[*]procedure TfrmTelnetDemo.edtSendCommandKeyPress(Sender: TObject;
var Key: Char);
var
i : integer;
s : string;
begin
if IdTelnetDemo.Connected then
if (key = #13) then
begin
s := edtSendCommand.text;
for i := 1 to length(s) do
IdTelnetDemo.SendCh(s);
IdTelnetDemo.SendCh(#13);
edtSendCommand.Clear;
edtSendCommand.SetFocus;
end;

end;


Merhaba,

Kullandığınız Delphi sürümü nedir?

Sorununuzun kaynağı sizin Byte bilgi göndermeniz gerekir iken string bilgi gönderiyor olmanız gibi gözüküyor.

Yakın zamanda çıkan Delphi sürümleri ile nisbeten daha kolay ve C# koduna çok benzer kodlar ile yapılabilir. Delphi 7 gibi eski bir sürüm için biraz daha farklı bir çözüm izlemek gerekir.
Cevapla