PowerTCP Telnet for .NET

from $349.00
Available Platforms

Send Telnet Commands With Ease

PowerTCP Telnet for .NET is re-designed to provide the most advanced Internet Communications components available, while remaining as easy to use as ever. The new design promotes a Model-View-Controller (MVC) application design, localizing your protocol functions and settings to a reusable model class. This enhanced library requires fewer resources, provides more flexibility, and elicits code that is easier to re-use and maintain.

  • Supports .NET 2.0 features including generics, IPv6, and X509 certificates
  • Secure Socket Layer (SSL) security is integrated
  • Lightweight, Single Dll streamlines your app
  • MONO support
  • Many samples and code examples

 

Easy To Use

  • Auto-login and option negotiation capabilities minimize coding
  • Blocking reads are specifically designed for scripting applications
  • Inherent multi-threading support for user-interactive applications
  • Pty property can be set to any control derived from TextBoxBase, turning any TextBox into a Telnet terminal
  • Log event provides debugging support and session logging

 

Flexible

  • Explicit and implicit SSL security supported
  • Use international character sets
  • HTTP, SOCKS4 and SOCKS5 proxy support
  • 64-bit Operating System support
  • Rexec, Rsh and Rlogin components in addition to Telnet

 

Samples and Documentation

  • Numerous sample projects for C#, VB.NET, C++/CLI, including ASP.NET
  • Integrates with Visual Studio 2005, 2008, 2010, 2012
  • Comprehensive MS Help 2.0 and Help Viewer integrated documentation
  • Stand-alone and online documentation

 

Controls Included in Telnet for .NET

  • Telnet, Rexec, Rlogin and Rsh drag and drop components layer protocols over TCP
  • Sample projects for C#, VB.NET, C++ including ASP.NET
  • Comprehensive MS Help 2.0 integrated documentation
  • Stand-alone and online documentation also included
  • Components and comprehensive help integrate with Visual Studio 2005, 2008, 2010, 2012
  • Free introductory support and email support during subscription period

 

Component Description
Telnet Component Implements the Telnet protocol within any .NET application.
Rlogin Component Implements the remote login protocol within any .NET application.
Rexec Component Implements the remote execution protocol within any .NET application.
Rsh Component Implements the remote shell protocol within any .NET application.

 

View Online Product Documentation >

 

Supported Environments

PowerTCP for .NET 4.x components and classes operate on any Microsoft operating system that fully supports the Microsoft .NET Framework, including 64-bit Windows. .NET components are dependent on the Framework rather than a specific operating system. Products support .NET Framework versions 2.0, 3.0, 3.5, 4.0, 4.5, 4.6 and 4.7. Contact Dart for a list of .NET Framework 1.x.Component products.

 

PowerTCP for .NET can be used with any .NET compliant language:

  • C#
  • VB.NET
  • Managed C++
  • Powershell

 

PowerTCP for .NET 4.x components have been tested in the following application environments:

  • Windows forms desktop applications
  • Windows console applications
  • Windows ASP.NET web applications and Web Sites
  • Windows service applications
  • Windows web service applications
  • Windows .NET Framework 4 Client Profile
  • Windows Presentation Foundation (WPF) applications

 

PowerTCP for .NET 4.x components have been tested in the following development environments:

  • Visual Studio .NET (2005, 2008, 2010, 2012, 2013, 2015, 2017)
  • Mono runtime 2.10 or greater

 

 

PowerTCP for .NET components do not currently support execution within Silverlight. If you are interested in using Dart products within your Silverlight solution, contact support@dart.com for more options.

 

 

Code Examples

These code snippets can be copied and pasted into your project.  

Code Snippet Description
Automated Session Demonstrates how to write a scripted automated session.
Option Negotiation Demonstrates how to manually handle telnet option negotiation.
Receive and Display Data Demonstrates how to receive and display data asynchronously, without blocking the UI.

 

 

Sample Projects

Samples are working applications demonstrating Sockets for .NET components in C#, VB.NET and C++/CLI. Source code included. 

Name Description
Automated Client Demonstrates execution of an automated Windows Forms application using Telnet.
Rexec Client Demonstrates execution of a command using Rexec. Windows Forms application.
Rlogin Client Demonstrates a user-interactive Rlogin Windows Forms application.
Rsh Client Demonstrates execution of a command using Rsh. Windows Forms application.
Telnet Client Demonstrates a user-interactive Telnet Windows Forms application.
Automated Console Demonstrates use of Telnet in a console application. Windows Forms application.
PTY Client Demonstrates use of the Pty feature, which adds a TextBox interface to the Telnet component. Windows Forms application.
Automated Web Demonstrates use of Telnet on a web page. C#, VB source.

 

 

Product Release History

The following is a list of public releases for all components shipped with PowerTCP Telnet for .NET (Latest Release 2018-07-19) 

 

PowerTCP Telnet for .NET

   Current Version: 4.4.8.0

 

4.4.8.0 Released: 2018-07-19


 

  • Added support for .NET Standard 2.0 and .NET Core 2.0
  • New .NET Core 2.0 sample projects, referencing the Dart.Telnet.Standard dll
  • Updated trial license operation for use on .NET Standard-compatible platforms
    - Details regarding trial operation for Dart.Telnet.Standard.dll can be found in the Licensing and Trial Operation topic in the included help documentation

 

 

4.4.7.0   Released: 2017-03-08


 

  • Visual Studio 2017 compatibility.

 

 

4.4.6.0   Released: 2016-12-19


 

Product fixes in this release:

  • Login prompt exception messages have been improved and will now report which prompts could not be found. (655)

 

 

4.4.5.1   Released: 2012-11-15

 

  • Changed serialization to use simple partial name serialization to improve cross-version compatibility.

 

Product fixes in this release:

  • Addressed issues in the sample Telnet model code that caused an exception to be incorrectly thrown during the login process.
  • Addressed an issue where the control might hang if the remote server closes the connection during a read with the Telnet control. (5446)
  • Addressed an issue where calling the Close method on the Telnet control in the StateChanged event may cause the Telnet control to hang. (5631)

 

 

4.4.4.5   Released: 2012-10-24


 

  • Updated for Visual Studio 2012 integration and Windows 8 compatibility.
  • Trial licensing operation updated.

 

Product fixes in this release:

  • Addressed a globalization issue that prevented correct operation for systems using the following language cultures: Azeri (az), Azeri-Latin (az-Latn), Azeri-Latin-Azerbaijan (az-Latn-AZ), Turkish (tr), Turkish-Turkey (tr-TR) (TFS31)

 

 

4.4.3.1   Released: 2012-07-12


 

Product fixes in this release:

  • Fixed a licensing issue with web service applications.
  • Updated the title bar of licensing messages to not indicate a product is in trial when it is licensed.

 

 

4.4.2.0   Released: 2012-06-27


 

  • Updated trial operation behavior and removed obstacle to using product in .NET Framework 4.5.

 

 

4.4.1.1   Released: 2012-04-30


 

Product fixes in this release:

  • Fixed an issue that prevented operation in MONO. A NotImplementedException no longer occurs when trying to connect in a MONO environment. (5586)

 

 

4.4.0.2   Released: 2011-03-24


 

  • Some custom Start delegates have been replaced with the .NET Framework standard WaitCallback delegate. This generally means that callback functions no longer include the calling component as a parameter (this is true even for custom delegates that were not replaced).
  • The Connect method was updated to take the new TcpSession object as a parameter. TcpSession is a serializable object that facilitates the saving of session settings.
  • The AuthenticateAsClient and AuthenticateAsServer methods were updated to take the new ClientSecurity and ServerSecurity objects as parameters, respectively. These two objects are serializable, facilitating the saving of security sessions.
  • The ReadToX functions (ReadtoDelimiter, ReadToCount, ReadToEnd) were updated to throw the new DataException when an error condition occurs. DataException includes a DataRead field which provides the data read prior to the exception.
  • Several samples were updated with "model" classes, to fall more in line with the Model-View-Controller (MVC) design philosophy. For more on MVC, see the "MVC Design in Applications" page of the help file.

 

Product fixes in this release:

  • Fixed an issue where the components would not use a specified local port under certain circumstances. (5359)

 

 

4.2.1.1   Released: 2010-05-14


 

  • PowerTCP Telnet has been updated with a new install and VS 2010 integration.
  • Product fixes in this release:
  • Fixed a delay that would sometimes occur during the first Connect to a server. (5118)
  • Data Direction in the Log event handler has been fixed to no longer always be DataDirection.In. (5169)
  • The behavior of the Login method has changed. The default timeout value for each Read is now 6 seconds. A timeout exception will occur if the expected login prompt or password prompt is not found before the timeout period expires. (5216)
  • Aborting an explicitly secure connection during the SSL Handshake no longer negatively impacts an immediate subsequent explicitly secure connection. (5275)

 

 

4.2.0.1   Released: 2010-01-05


 

  • Telnet for .NET now uses native Framework classes for SSL functionality.
  • Telnet for .NET has a new licensing model. External runtime license files are no longer utilized. Instead, a license resource is generated and embedded within the executing assembly.

 

 

4.1.2.0   Released: 2009-10-30


 

  • An update to licensing and the help file. Note that users with an existing 4.1 Developer License File must obtain a new Developer License File for this release.

 

 

4.1.1.0   Released: 2009-06-03


 

  • An update to licensing and the help file.

 

 

4.1.0.0   Released: 2009-05-13


 

  • The component Error event handler now utilizes Dart.Common.ComponentErrorEventArgs.
  • Telnet has been updated with a new easier-to-use licensing model.

 

 

4.0.0.1   Released: 2009-02-17


 

  • This latest version of the venerable PowerTCP product line gets a new .NET 2.0 re-design that leverages the power of the latest .NET environments to provide the most advanced Internet Communications components available. Some of the features include:
  • Auto-login capabilities
  • Auto-option negotiation with easy configuration options
  • Secure SSL Telnet support
  • Blocking reads that wait for defined delimiters, specifically designed for scripting applications
  • Start method for easily implemented multi-threaded applications, including cross-threading marshaling support
  • PTY property binds a TextBox to the Telnet component as a ready-made interface for interactive online communications
  • Logging event for easy debugging and session logging
  • Proxy support
  • Includes Rexec, Rsh and Rlogin components in addition to Telnet

 

Telnet .NET Component

 

The Telnet component fills the Telnet gap in the .NET Framework by negotiating options with remote Telnet servers. Features include:

 

  • Login function that automatically sends username and password
  • Automatic and manual option negotiation options for maximum flexibility
  • Explicit and implicit SSL security options
  • Blocking reads that wait for defined delimiters, specifically designed for scripting applications
  • Start method for easily implemented mult-threaded applications, including cross-threading marshaling support
  • Pty property binds a TextBox to the Telnet component as a ready-made interface for interactive online communications
  • Logging event for easy debugging and session logging
  • Proxy support for Http, SOCKS4, SOCKS5
  • Integrates with Visual Studio 2005, 2008, 2010, 2012
  • Supports C#, VB.NET, C++/CLI, ASP.NET and other .NET compliant development environments

 

View Online Product Documentation >

 

Telnet for ActiveX >

 

Looking for an SSH Component?

PowerTCP SSH and SFTP for .NET >

Rsh .NET Component

 

Use the Rsh component to easily execute shell commands on a remote host. Features include:

  • Execute function that executes specified commands on the remote host
  • SSL security options
  • Start method for easily implemented mult-threaded applications, including cross-threading marshaling support
  • Logging event for easy debugging and session logging
  • Proxy support
  • Integrates with versions 2005, 2008 and 2010 of Visual Studio
  • Supports C#, VB.NET, C++/CLI, ASP.NET and other .NET compliant development environments

 

See the complete Emulation for .NET Online Documentation >

 

Looking for the ActiveX version of this component?

 

Looking for an SSH Component?

For SSH support, see PowerTCP SSH and SFTP for .NET >

Rlogin .NET Component

 

Use the Rlogin .NET component to easily login to a remote host using rlogin. Features include:

Login function that automatically sends username and password

  • SSL security options
  • Blocking reads that wait for defined delimiters, specifically designed for scripting applications
  • Start method for easily implemented mult-threaded applications, including cross-threading marshaling support
  • PTY property binds a TextBox to the Telnet component as a ready-made interface for interactive online communications
  • Logging event for easy debugging and session logging
  • Proxy support
  • Integrates with versions 2005, 2008, 2010 and 2012 of Visual Studio
  • Supports C#, VB.NET, C++/CLI, ASP.NET and other .NET compliant development environments

 

View Online Product Documentation >

 

Rlogin ActiveX Control >

 

Looking for an SSH Component?

PowerTCP SSH and SFTP for .NET >

Rexec .NET Component

 

Use the Rexec component to execute a command on a remote host. Features include:

  • Execute function that executes specified commands on the remote host
  • SSL security options
  • Start method for easily implemented mult-threaded applications, including cross-threading marshaling support
  • Logging event for easy debugging and session logging
  • Proxy support
  • Integrates with versions 2005, 2008, 2010 and 2012 of Visual Studio
  • Supports C#, VB.NET, C++/CLI, ASP.NET and other .NET compliant development environments

 

View Online Product Documentation >

 

Rexec ActiveX Control >

 

Looking for an SSH Component?

PowerTCP SSH and SFTP for .NET >

Windows Forms Automated Session Code 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 a textbox for display.

 

< Back to all samples for PowerTCP Telnet for .NET

 

 

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() + ">";
}

 

Windows Forms Option Negotiation Code Examples

The following examples demonstrates manual client/server option negotiation. Typically, the Telnet component will handle option negotiation manually. However, the developer also has the flexibility to manually set options to be used and rejected.

 

< Back to all samples for PowerTCP Telnet for .NET

 

if (telnet1.RemoteEndPoint.Port == 23)
{
    //Standard telnet port, add standard telnet options.
    telnet1.ClientOptions.Add(new Option(OptionCode.SuppressGoAheads, 
        OptionState.RequestOn));
    telnet1.ClientOptions.Add(new Option(OptionCode.WindowSize, null,
        new Byte[] { ((Byte)(0)), ((Byte)(80)), ((Byte)(0)), ((Byte)(24)) }, 
        OptionState.RequestOn));
    telnet1.ClientOptions.Add(new Option(OptionCode.TerminalType,
        new Byte[] { ((Byte)(0)), ((Byte)(116)), ((Byte)(116)), ((Byte)(121)) }, 
        OptionState.RequestOn));

    telnet1.ServerOptions.Add(new Option(OptionCode.SuppressGoAheads, null,
        OptionState.RequestOn));
    telnet1.ServerOptions.Add(new Option(OptionCode.Echo, nullOptionState.RequestOn));
    telnet1.ServerOptions.Add(new Option(OptionCode.OutputPageSize, null,
        OptionState.RequestOn));
}
else
{
    //Non-standard telnet port, do not send telnet options.
    telnet1.ClientOptions.Clear();
    telnet1.ServerOptions.Clear();
}


 

In addition, negotiation can be handled in real-time, using the CommandReceived event and SendXXX commands. In the following example, explicit security is negotiated in the CommandReceived event handler.

 

< Back to all samples for PowerTCP Telnet for .NET

 

if (telnet1.RemoteEndPoint.Port == 23)
{
    //Standard telnet port, add standard telnet options.
    telnet1.ClientOptions.Add(new Option(OptionCode.SuppressGoAheads, 
        OptionState.RequestOn));
    telnet1.ClientOptions.Add(new Option(OptionCode.WindowSize, null,
        new Byte[] { ((Byte)(0)), ((Byte)(80)), ((Byte)(0)), ((Byte)(24)) }, 
        OptionState.RequestOn));
    telnet1.ClientOptions.Add(new Option(OptionCode.TerminalType,
        new Byte[] { ((Byte)(0)), ((Byte)(116)), ((Byte)(116)), ((Byte)(121)) }, 
        OptionState.RequestOn));

    telnet1.ServerOptions.Add(new Option(OptionCode.SuppressGoAheads, null,
        OptionState.RequestOn));
    telnet1.ServerOptions.Add(new Option(OptionCode.Echo, nullOptionState.RequestOn));
    telnet1.ServerOptions.Add(new Option(OptionCode.OutputPageSize, null,
        OptionState.RequestOn));
}
else
{
    //Non-standard telnet port, do not send telnet options.
    telnet1.ClientOptions.Clear();
    telnet1.ServerOptions.Clear();
}

 

In addition, negotiation can be handled in real-time, using the CommandReceived event and SendXXX commands. In the following example, explicit security is negotiated in the CommandReceived event handler.

 

< Back to all samples for PowerTCP Telnet for .NET

 

private void telnet1_CommandReceived(object sender, CommandEventArgs e)
{
    //Handles negotiation for an explicitly secure connection.
    try
    {
        if (e.OptionCode == OptionCode.Authentication)
        {
            if (e.Command == Command.Do)
                telnet1.SendOption(Command.Will, OptionCode.Authentication);
            else if (e.Command == Command.SB && e.SubOption[0] == 1)
            {
                //Server expects a SEND request (IS).
                byte[] response = new byte[4];
                response[0] = 0; // is
                response[1] = 7; // ssl
                response[2] = 0; // AuthClientToServer
                response[3] = 1; // START_SSL is our request
                telnet1.SendSubOption(e.OptionCode, response);
            }
            else if (e.Command == Command.SB && e.SubOption[0] == 2)
            {
                //Setup client security with the target host, and a callback that
                //executes when the remote host presents its certificate.
                ClientSecurity security = new ClientSecurity();
                security.TargetHost = "mySecureHost";
                security.ValidationCallback += remoteCertificateValidation;

                //Authenticate the server.
                telnet1.AuthenticateAsClient(security);
            }
        }
    }
    catch (Exception ex)
    {

        //Close the connection if there is an error.
        telnet1.Close();
        telnet1.Marshal(ex);
    }
}

Windows Forms Receive and Display Data Code Example

The following example demonstrates receiving data in a Windows Forms environment. Data is read asynchronously, as it is available, without blocking the UI. The data is marshaled to the UI thread and written to the display.

 

< Back to all samples for PowerTCP Telnet for .NET

 

private void button1_Click(object sender, EventArgs e)
{
    //Receive data on a worker thread
    telnet1.Start(receiveData, null);
}

private void receiveData(object notUsed)
{
    //Receive data when it is sent by the remote host
    //Marshal it to the UI for display
    byte[] buffer = new byte[1024];
    while (telnet1.State != ConnectionState.Closed)
        telnet1.Marshal(telnet1.Read(buffer, 0, 1024), ""null);
}

private void telnet1_Data(object sender, DataEventArgs e)
{
    //Whenever data is received, display it
    if (e.Data != null) vt1.Write(e.Data.Buffer, 0, e.Data.Count);
}

Purchase Options

Customize your product and support options match your needs. Discounts are applied when products are purchased in multiples or within available product suites.

$0.00 discount
 
$499.00

Have any questions about purchasing? See our Sales FAQ