PowerTCP Emulation for .NET
from $699.00Available Platforms
See all PowerTCP Emulation for .NET Code Examples
Windows Forms Automated Telnet Session Example
The following example demonstrates an automated Telnet session in a Windows Forms environment. The session is executed asynchronously, without blocking the UI. The session is written to the VT display.
private void button1_Click(object sender, EventArgs e)
{
//This application has a User-Interface, which we do not want to block.
//Start launches the specified method on a worker thread.
//Event handlers execute on the UI thread.
telnet1.Start(automateSession, null);
}
private void automateSession(object notUsed)
{
//This function performs an automated telnet session using blocking calls.
//Use the Start method to execute this function on a worker thread.
try
{
//Connect to the server
telnet1.Connect("myServer");
//Login and marshal data to the UI thread
telnet1.Marshal(telnet1.Login(new Credentials("myUser", "myPass", "~$")), "", null);
//Send a list command
telnet1.Write("ls -la\r");
//Wait for prompt, marshal data to the UI thread
telnet1.Marshal(telnet1.ReadToDelimiter("~$"), "", null);
//Send an exit command; server will close the connection
telnet1.Write("exit\r");
//Read any remaining data before the shutdown
telnet1.Marshal(telnet1.ReadToEnd(), "", null);
}
catch (Exception ex)
{
//Report errors to the UI thread
telnet1.Marshal(ex);
}
}
void telnet1_Data(object sender, DataEventArgs e)
{
//Add data received to the VT display
if (e.Data != null) vt1.Write(e.Data.ToString());
}
void telnet1_Error(object sender, ErrorEventArgs e)
{
//Add error messages to the VT display
vt1.Write(e.GetException().Message);
}
void telnet1_StateChanged(object sender, EventArgs e)
{
//Indicate in app title when connected
this.Text = (telnet1.State == Dart.Emulation.ConnectionState.Closed)
? "Automated Session Demo"
: "Automated Session Demo <Connected to " + telnet1.RemoteEndPoint.ToString() + ">";
}
To download a trial please visit the PowerTCP Emulation for .NET product page.