J'essaie de transmettre des données à un serveur Telnet. Je reçois l'invite initiale pour les informations d'identification de connexion, mais il ne prendra pas le nom d'utilisateur. Je dois passer le nom d'utilisateur, attendez une invite de mot de passe et entrez cela. Ensuite, être en mesure d'envoyer et de recevoir des données, en gardant le socket ouvert à tout moment.Telnet n'envoie pas de données
mon code ressemble à ceci (son rugueux que je suis en train dans la console d'abord)
try
{
client = new TcpClient("10.0.0.94",23);
Console.WriteLine("Connected to server.");
}
catch (SocketException)
{
Console.WriteLine("Failed to connect to server");
return;
}
//Assign networkstream
NetworkStream networkStream = client.GetStream();
byte[] data = new byte[1024];
int size = networkStream.Read(data, 0, data.Length);
recieved = Encoding.ASCII.GetString(data, 0, size);
Console.WriteLine(recieved);
if (recieved.Contains("login"))
{
string loginrx;
string cmd = string.Format("{0}\r",user) ;
byte[] writeBuffer = Encoding.ASCII.GetBytes(cmd);
networkStream.Write(writeBuffer, 0, writeBuffer.Length);
byte[] logindata = new byte[1024];
int loginsize = networkStream.Read(logindata, 0, logindata.Length);
loginrx = Encoding.ASCII.GetString(logindata, 0, loginsize);
Console.WriteLine(loginrx);
Console.ReadLine();
}
Je reçois l'invite de connexion, mais tout s'arrête là.
toute aide serait géniale.
ajouter un "networkStream.Flush();" après l'écriture() – sevzas
De quel type de retour avez-vous besoin? \ r ou \ n ou \ r \ n – jdweng