PowerTCP Winsock for ActiveX

from $249.00
Available Platforms

Add Winsock Functionality to your Visual Basic Application

PowerTCP Winsock for ActiveX includes TCP, UDP, Daemon, DNS and Ping controls for Visual Basic (VB6) and other COM supported environments such as VC++, Delphi and PowerBuilder. PowerTCP provides the building blocks you need for basic or complex Internet application development. Looking for secure TCP? Check out PowerTCP SSL for ActiveX.

 

Consulting and Custom Development

From custom protocols to complete client-server solutions, let our experienced staff help with your TCP/IP project

 

  • TCP control can be used to implement standard upper-layer protocols (such as WHOIS and Time), as well as any custom protocols you want to develop.
  • UDP control can likewise be used to implement standard upper-layer protocols (such as Network Time Protocol), as well as custom protocols that use datagram-level communications.
  • Daemon control accepts incoming connections, then TCP controls can be created on new threads, implementing custom multi-threaded server applications.
  • DNS control is implemented directly (does not use Winsock services), so you can do address look-ups, reverse address look-ups, and mail address look-ups (from MX records).
  • Ping control checks if a host is reachable.
  • Supports COM+ Component Services.
  • Can be used in a multi-threaded environment.
  • Includes a royalty-free license.
  • Wrapper classes included for convenient integration into Visual C++.
  • Use in COM-supported environments like Visual Basic (VB6), VC++, Microsoft Office VBA (Word, Excel, etc), Delphi, PowerBuilder and more.

 

    Included with PowerTCP Winsock for ActiveX

    • 8 Controls/Objects.
    • 41 Full Sample projects.
    • 8 ASP/ASP.NET Samples.
    • Debug Server for debugging and protocol testing.
    • Full MS Help 1.3 Documentation, including examples.
    • Free Introductory Support.

     

    Component Description
    Daemon Control Use to accept TCP connections.
    Dns Control Use to access Domain Name Servers.
    Ping Control Use to determine if a host is reachable.
    Tcp Control Use to manage streams of data through a TCP Socket.
    Udp Control Use the UDP Control to send and receive User Datagrams and raw IP Datagrams.
    DartStream Object Use to manage a streamed buffer to/from memory or a file.
    DartStrings Object Collection of strings.

     

    Supported Environments

    Operating Systems*: Server 2008, 2012, Windows 7, Windows 8, Windows 10, Server 2016

    PowerTCP Winsock for ActiveX can be used in the following development environments:

    • Visual Basic
    • Visual C++
    • FoxPro
    • ASP
    • VBScript (wscript, cscript, etc)
    • MS Office VBA

     

    Visual Basic
    Looking to integrate network connectivity into Visual Basic? PowerTCP Winsock for ActiveX contains 11 full sample projects for Visual Basic, demonstrating Internet communication using TCP, UDP, DNS, Ping, RAS and more.

     

    Visual C++
    PowerTCP Winsock for ActiveX includes C++ wrapper classes to make network integration into C++ even easier. In addition, 8 full sample projects are included.

    Code Examples

    Included Example Projects

    These PowerTCP Winsock for ActiveX  examples, included with the installation, are fully working applications and include complete source code.
    Example Name Example Description Environments
    DartChat Uses the UDP Control and multicast datagrams to join chat sessions. VB 6, VC++ 6
    DartDraw Uses the UDP Control and broadcasting to create a community whiteboard application. VB 6
    DNS Client Uses the DNS Control to resolve any host name to an address (type A records), any address to its host name (type PTR records), any email address to its host name and address (type MX records). VB 6, VC++ 6
    Ping Client Uses the Ping Control to ping any host. VB 6, VC++ 6
    RAS Client Uses the RAS Control to demonstrate dial-up operation. VB 6, VC++ 6
    TCP Blaster Uses the Daemon and TCP Controls to demonstrate high-throughput operation. VB 6, VC++ 6
    TCP Client Uses the TCP Control to build an interactive on-line application for time, character builder, smtp, echo, etc. VB 6
    UDP Client Uses the UDP Control in an interactive "chat" application. VB 6, VC++ 6
    WebAlive Uses the TCP Control to compare the performance of any two web servers. VB 6

     

     

    Winsock for ActiveX also includes the following application(s):

    Application Description
    Debug Server This server application is based upon one of Dart's own internal testing tools and is designed to help developers debug their client-side applications by being able to see the message sent from a client application. Then, a developer can respond to the client application with a customized response message sent from the server.

     

     

    ASP (Online) Samples
    Our ASP samples give a live, onsite demonstration of our tools.

    Sample Name Sample Description Environments
    DNS on the Web ASP application uses the DNS Control to resolve a host name to an address, an address to host name(s), or an email address to a mail server name and address. COM, .NET

     

    Product Release History for PowerTCP Winsock for ActiveX

    The following is a list of public releases for all components shipped with PowerTCP Winsock for ActiveX (Latest Release 2017-12-07)

     

    dartsock.dll   dartras.dll   dartutil.dll

     

    dartsock.dll

       Current Version: 2.12.1.0

     

     

    2.12.1.0   Released: 2019-12-17


     

    • Resolved an issue where Udp.DontEcho could only be set after the UDP socket was opened. (5218)
    • Resolved an issue with the WebAlive sample that would result in an unnecessary error due to it targeting a non-existent website. (5781)

     

     

    2.12.0.0   Released: 2017-12-07


     

    • Version change for installation kit.

     

     

    2.11.1.0   Released: 2017-10-26


     

    • Now includes 64-bit dlls.
    • Support for IPv6 has been added.

     

     

    2.11.0.0   Released: 2015-11-13


     

    • Version change.

     

     

    2.10.2.1   Released: 2013-05-08


     

    Product fixes in this release:

    • Resolved a com registration error.
    • Resolved an issue where DartStrings would be empty when reading and splitting a large file with delimiters. (5117)
    • Resolved a memory leak when calling the Udp.Receive(DartStream) overload. (5536)

     

     

    2.10.0.1   Released: 2012-07-10


     

    • There are now separate "Trial" and "Licensed" versions of the dll. Trial dlls are not for deployment and will only function on machines on which a trial version of the product has been installed.

     

     

    2.9.1.0   Released: 2012-02-09


     

    • No changes from 2.9.0.3.

     

     

    2.9.0.3   Released: 2010-10-26


     

    • CertificateList and CertificateStore are now licensed controls in PowerTCP Mail for ActiveX.

     

     

    2.9.0.2   Released: 2010-07-26


     

    Product fixes in this release:

    • Fixed problem getting DartStrings.All when the collection is empty.

     

     

    2.9.0.1   Released: 2010-04-28


     

    • Now functions on all Data Execution Protection (DEP) enabled systems.
    • No longer vulnerable to attacks outlined in Microsoft Security Bulletin MS09-035 (http://www.microsoft.com/technet/security/bulletin/MS09-035.mspx).

     

     

    2.9.0.0   Released: 2010-02-11


     

    Product fixes in this release:

    • The StartAfter parameter of DartStrings.Find can now be greater than 65535. (4707)
    • Ras Phonebook entries can now have names with multibyte characters. (4875)

     

     

    2.8.5.0   Released: 2008-03-19


     

    Product fixes in this release:

    • It is now possible to edit and add to Ras PhoneBooks on Vista machines. (4225)
    • Two running instances of the same application using the Ping control are now completely independent. (4583)

     

     

    2.8.3.27   Released: 2008-02-04


     

    Product fixes in this release:

    • DartStrings.Remove now works with a string parameter. (4262)
    • NoDelay and KeepAlive properties can now be set to false on Vista machines. (4351)
    • DartStrings.Add now works when adding strings to the end of the collection by specifying an index parameter. (4632)

     

     

    dartras.dll (Removed from Winsock for ActiveX in version 2.11.1.0)

       Current Version: 2.9.1.0

     

     

    2.9.1.0   Released: 2012-07-10


     

    • There are now separate "Trial" and "Licensed" versions of the dll. Trial dlls are not for deployment and will only function on machines on which a trial version of the product has been installed.

     

     

    2.9.0.1   Released: 2010-04-28


     

    • Now functions on all Data Execution Protection (DEP) enabled systems.
    • No longer vulnerable to attacks outlined in Microsoft Security Bulletin MS09-035 (http://www.microsoft.com/technet/security/bulletin/MS09-035.mspx).

     

     

    2.8.5.0   Released: 2008-03-19


     

    Product fixes in this release:

    • It is now possible to edit and add to Ras PhoneBooks on Vista machines. (4225)

     

     

    dartutil.dll

       Current Version: 2.12.0.0

     

    2.12.0.0   Released: 2017-12-07


     

    • Version change for Winsock installation.

     

     

    2.10.1.0   Released: 2017-10-26


     

    • Now includes 64-bit dlls.

     

     

    2.10.0.0   Released: 2015-11-12


     

    Product fixes in this release:

    • No bug fixes, version change.

     

     

    2.9.3.0   Released: 2013-05-17


     

    Product fixes in this release:

    • Resolved a Com registration error.

     

     

    2.9.2.0   Released: 2012-07-10


     

    • There are now separate "Trial" and "Licensed" versions of the dll. Trial dlls are not for deployment and will only function on machines on which a trial version of the product has been installed.

     

     

    2.9.1.0   Released: 2012-02-09


     

    • No changes from 2.9.0.1.

     

     

    2.9.0.1   Released: 2010-04-28


     

    • Now functions on all Data Execution Protection (DEP) enabled systems.
    • No longer vulnerable to attacks outlined in Microsoft Security Bulletin MS09-035 (http://www.microsoft.com/technet/security/bulletin/MS09-035.mspx).

     

     

    2.8.5.0   Released: 2008-03-19


     

    Product fixes in this release:

    • Two running instances of the same application using the Ping control are now completely independent. (4583)
    PowerTCP Winsock for ActiveX features

     

    Tcp ActiveX Control

    Use the Tcp control to easily implement any upper-layer protocol that is based on a TCP data stream. Features include:

    • Send method sends data to the server.
    • Receive method receives all available data.
    • Search Method supports variable length records and line processing, eliminating the need to search for termination characters and simplifying buffer management.
    • Fill Method supports fixed length binary records, simplifying buffer management and reducing the code needed to send and receive binary structures.
    • Proxy support, including Socks 4 and 5

     

    Development Environments

    • Visual Studio .NET (.NET Framework)
    • Visual Basic (VB)
    • Visual C++ (VC++)
    • FoxPro
    • PowerBuilder
    • Delphi
    • C++ Builder
    • ASP
    • Office 97/2000

     

    Interface
    Public Properties
    Blocked A True value indicates the control is currently executing a blocking method (Timeout is greater than 0), which has neither completed nor timed out with a ptTimeout error.
    KeepAlive When set to True, the KEEPALIVE socket option is set to monitor dropped connections. This option can only be set when the State property is tcpConnected.
    LocalAddress Returns the address of the local host in dot notation (for example, nnn.nnn.nnn.nnn). When not connected, it returns an empty string.
    LocalPort Returns the port number that the socket is bound to. When not connected, it returns 0.
    NoDelay When True, the NODELAY socket option is set to defeat Nagle's algorithm.
    ProxyHost Specifies the name or address of the proxy server that requests are to be routed through.
    ProxyPassword Password to be sent on all requests through a proxy server that requires authentication.
    ProxyPort Specifies the port used by proxy server that requests are to be routed through.
    ProxyType The type of proxy server used for this connection.
    ProxyUsername Username to be sent on all requests through a proxy server that requires authentication.
    ReceiveBufferCount Checks for the existence of data without removing it.
    ReceiveBufferSize Number of bytes the system has for buffering incoming data.
    Ref Stores a reference to another object, data type, or value.
    RemoteAddress Returns the address of the remote host in dot notation (i.e. nnn.nnn.nnn.nnn) when the State property is tcpConnected.
    RemotePort Returns the port number of the remote host when the State property is tcpConnected.
    ReuseAddress When True, the REUSEADDR socket option is set to accept duplicate use of the same LocalAddress / LocalPort pair (these are optional parameters of the Connect and Listen methods). If used, this property must be set prior to calling the Connect or Listen method and can be set at design time.
    RemotePort Returns the port number of the remote host when the State property is tcpConnected.
    ReuseAddress When True, the REUSEADDR socket option is set to accept duplicate use of the same LocalAddress / LocalPort pair (these are optional parameters of the Connect and Listen methods). If used, this property must be set prior to calling the Connect or Listen method and can be set at design time.
    SendBufferCount When the Send method is used, some data may be stored in a buffer and later submitted to the system. The Send event fires to indicate that the system has accepted the submitted data.
    SendBufferSize Number of bytes the system uses for buffering outgoing data.
    Socket System identifier assigned to the TCP connection. It is normally used to assume management of an accepted socket from the Daemon Control.
    State Provides status information to the user interface. The State event fires to signal that this property has changed.
    Timeout Controls the blocking behavior of methods that can be used in blocking and non-blocking ways.
    Public Methods
    Abort Abort any blocking method and release all system resources.
    About Show the About Box.
    Close Close the session and release all system resources. A single control can be used for many connections, one after the other.
    Connect Establish a connection. The State property immediately changes to tcpConnecting and then changes to tcpConnected when the connection is established. The State property can be checked in the body of the State event, polled off a timer, or checked immediately after this method is used when a positive Timeout is specified.
    Fill Use this method when you know exactly how many bytes or characters you want from the TCP stream. Data is either filled to capacity or no data is returned. This method is useful for processing fixed-length records that can include binary structures.
    Receive Receive an arbitrary amount of data. The specified String or Byte array is filled with bytes from the remote host.
    Search Receive data up to and including a terminating sequence. The data stream is searched for the specified Token, and the specified string, byte array, or DartStream object is filled with the data stream up to and including the specified Token.
    Send Send data after a connection is established. The Send event fires when data is accepted by the system. The SendBufferCount property always indicates the number of bytes that have been submitted but have not yet been accepted by the system.
    Trace Start or stop the accumulation of trace or debug data. Once started, this method accumulates data until it is turned off.
    Public Events
    Error Fires when an error condition occurs.
    Receive Fires when ReceiveBufferCount changes.
    Send Fires when the system accepts data for sending.
    State Fires when the State property changes.

     

    Code Example

    How easy is the TCP ActiveX component to use? Check out the following TCP VB example below, which demonstrates connecting to an Echo server and sending and receiving data.

     

    Dim Reply As String

    ' Set Timeout to 1000 milliseconds to wait on communications for program execution
    Tcp1.Timeout = 1000

    ' Establish a connection to an echo server that repeats back what it receives
    ' "myhostname" is the host address, and 7 indicates the echo port
    Tcp1.Connect "myhostname", 7

    ' Since no Error condition is reported, we know we succeeded: send a string
    Tcp1.Send "!"

    ' Receive the reply from the server
    Tcp1.Receive Reply

    If Reply = "!" Then MsgBox "Success!"

    ' Close the connection
    Tcp1.Close

     

    Return to Overview

    PowerTCP Winsock for ActiveX Features

    Udp ActiveX Control

    Use the Udp control to easily send and receive User, Multicast, and raw IP Datagrams. Features include:

    • Supports raw datagrams, providing the ability to access advanced protocols like ICMP.
    • Supports multicast datagrams, allowing you to send and receive streaming protocols, and to easily construct chat programs.
    • Broadcast operation.

     

    Development Environments

    • Visual Studio .NET (.NET Framework)
    • Visual Basic (VB)
    • Visual C++ (VC++)
    • FoxPro
    • PowerBuilder
    • Delphi
    • C++ Builder
    • ASP
    • Office 97/2000

      

    Interface
    Public Properties
    Blocked A True value indicates the control is currently executing a blocking method (Timeout is greater than 0), which has neither completed nor timed out with a ptTimeout error.
    DontEcho Disables the local echoing of multicast packets sent by the control.
    LocalAddress Returns the address in use while the socket is active and an empty string when the UDP socket is closed.
    LocalPort Returns the port number in use while the socket is active and 0 when the socket is closed. When the Protocol property of the UDP Control is not ptUdp, LocalPort returns 0.
    MaxSubnets Maximum number of subnets a multicast packet is allowed to travel.
    Protocol The datagram protocol to use.
    SendDatagramCount Number of datagrams queued for sending.
    Timeout Controls the blocking behavior of methods that can be used in blocking and non-blocking ways.
    UserHeaders Enables the use of user-defined IP headers.
    Public Methods
    Abort Abort any blocking method and release all system resources.
    About Show the About Box.
    Close Release system resources.
    Join Join a multicast group.
    Leave Leave a multicast group.
    Open Allocate a socket for sending and receiving datagrams.
    Receive Receive a datagram into a buffer.
    Send Send a datagram to the specified remote address and port.
    Trace Start or stop the accumulation of trace or debug data. Once started, this method accumulates data until it is turned off.
    Public Events
    Error Fires when an error condition occurs.
    Receive Fires when a datagram is available for receiving.
    Send Fires when the system accepts a datagram for transmission.

      

    Code Example

    How easy is the UDP control to use? Check out the following UDP VB example below, which demonstrates sending a datagram and receiving a response.

     

    Dim uResponse As String
    Dim uAddress As String
    Dim uPort As String

    Udp1.Timeout = 0

    'LocalPort defaults to 0... system will assign an unused (ephemeral) port
    Udp1.Open

    ' Send a datagram to www.dart.com, echo port 7
    Udp1.Send "Send me an echo", "www.dart.com", 7

    ' uResponse will by dynamically expanded and filled with the echo response
    Udp1.Receive uResponse
    uAddress = Udp1.LocalAddress
    uPort = Udp1.LocalPort

    'display address and port information in message box
    dMsg = d & vbCrLf
    dMsg = dMsg & "LocalAddress is " & uAddress & vbCrLf
    dMsg = dMsg & "LocalPort is " & uPort
    MsgBox dMsg

    PowerTCP Winsock for ActiveX features

     

    Daemon ActiveX Control

    Use the Daemon control to build a multi-threaded server. Can accept an unlimited number of connections that can be assigned to dynamic SecureTcp controls for stream management. Features include:

    • Can accept an unlimited number of connections.
    • After accepting a connection, pass it to a Tcp control to send and receive data to the remote host.
    • The Daemon control comes complete with extensive samples demonstrating its use.
    • Help file quick starts show also demonstrate how to use the Daemon control.
    • Controls can operate on separate threads, so Server Applications can be written using apartment model multi-threading features. Or, see PowerTCP Server for ActiveX for an ActiveX control which already does this.

     

    Development Environments
    • Visual Studio .NET (.NET Framework)
    • Visual Basic (VB)
    • Visual C++ (VC++)
    • FoxPro
    • ASP
    • Office 97/2000
    • and more

     

    Interface
    Public Properties
    LocalAddress Returns the address in use while the Daemon is active and an empty string when the Daemon socket is closed.
    LocalPort Returns the port number in use while the Daemon is active and 0 when the Daemon is closed.
    ReuseAddress When True, the REUSEADDR socket option is set to accept duplicate use of the same LocalAddress / LocalPort pair (these are optional parameters of the Connect and Listen methods). If used, this property must be set prior to calling the Connect or Listen method and can be set at design time.
    Timeout Controls the blocking behavior of methods that can be used in blocking and non-blocking ways.
    Public Methods
    About Show the About Box.
    Accept Accept a connection and pass it to a TCP control for subsequent connection management. The Listen method must have been previously used to listen for passive connections.
    Close Release system resources.
    Listen Start listening for passive connections.
    Accept Fires when a passive connection occurs. Use the Accept method to get the socket, then transfer it to a TCP control for management.
    Error Fires when an error condition occurs.

      

    Code Example

    How easy is the Daemon ActiveX control to use? The following VB example demonstrates accepting a connection.

     

    ' Listen for connections on Port 7
    Daemon1.Listen 7

    Private Sub Daemon1_Accept()
    ' create a new TCP Control and assign the Socket to it
    Dim Tcp1 As Tcp

    ' myclass supports event notification for Tcp operation
    Set Tcp1 = New myclass
    Tcp1.Socket = Daemon1.Accept
    End Sub

     

    Return to Overview

    PowerTCP Winsock for ActiveX features

     

    Dns ActiveX Control

    Use the Dns control to integrate domain name resolution into any COM application, allowing your application to easily resolve domain names, host addresses, and email addresses. Features include:

    • The Dns control bypasses Winsock system services, so you can query ANY Domain Name Server on the Internet.
    • Resolve a domain name to a dot address (forward lookup)
    • Resolve a dot address to a domain name (reverse lookup)
    • Resolve an email address to the mail server responsible for the mail server (mx lookup)
    • The Dns control comes complete with extensive samples.
    Development Environments
    • Visual Studio .NET (.NET Framework)
    • Visual Basic (VB)
    • Visual C++ (VC++)
    • FoxPro
    • ASP
    • Office 97/2000

      

    Interface Members
    Public Properties
    Addresses Collection of addresses in dot notation (nnn.nnn.nnn.nnn) returned by the Domain Name Server.
    Id Sets the Dns request ID included with the request.
    Names Collection of names returned by the Domain Name Server.
    ServerName Domain Name Server to use for queries.
    ServerPort Domain Name Server port for queries.
    Timeout Controls the blocking behavior of methods that can be used in blocking and non-blocking ways.
    Public Methods
    Abort Abort any blocking method and release all system resources.
    About Show the About Box.
    GetAddress Resolve a host name to a dot address.
    GetMailServer Get the mail server (or servers) responsible for receiving mail for a given email address.
    GetName Resolve a dot address to a host name.
    Public Events
    Error Fires when an error condition occurs.
    Response Fires after the Id, Addresses, and Names properties are updated with the contents of a DNS response.

     

    Code Example

    How easy is the DNS ActiveX control to use? Check out the following VB example below, which demonstrates getting an IP address for a domain name.

     

    ' Specify the DNS server to use to resolve the request
    Dns1.ServerName = "Dns1.nameserver.com"

    ' Get the IP address for a url
    Dns1.GetAddress "dart.com"

    ' show the result to the user
    MsgBox "Address of dart.com: " & Dns1.Addresses(1)

     

    Return to Overview

    PowerTCP Winsock for ActiveX features

     

    Ping ActiveX Control

    Use the Ping control to easily send and receive ICMP echo (Ping) messages. Dynamically discovers if a host is reachable. Features include:

    • Determine if any host is online and reachable.
    • Simple interface makes the Ping control easy-to-use.
    • Ping a host using blocking or non-blocking techniques.
    • Specify any amount of data to send along with the Ping packet.
    • Assign an ID to the Ping packet.

      Development Environments

      • Visual Studio .NET (.NET Framework)
      • Visual Basic (VB)
      • Visual C++ (VC++)
      • FoxPro
      • PowerBuilder
      • Delphi
      • C++ Builder
      • ASP (requires the ASP user to have permission to use raw sockets; see Ping Enterprise for a control that does not have this requirement)
      • Office 97/2000

        

      Interface
      Public Constructors
      Ping Use the Ping Control to determine if a host is reachable.
      Public Properties
      Data Optional data that is sent and returned with each ping request.
      Delay Time between sending the ping request and receiving the response (round-trip time in milliseconds).
      Id Sets the ping request ID included with the request.
      Timeout Controls the blocking behavior of methods that can be used in blocking and non-blocking ways.
      Public Methods
      Abort Abort any blocking method and release all system resources.
      About Show the About Box.
      Ping Determine if a host is reachable.
      Error Fires when an error condition occurs.
      Response Fires after the Id, Delay, and Data properties are updated with the contents of a ping response.

       

      Code Example

      How easy is the Ping ActiveX component to use? Check out the following Ping VB example below, which demonstrates getting an IP address for a domain name.

       

      On Error GoTo OnError ' use intrinsic error handling

      Dim Count As Integer
      Dim Delay As Integer
      Ping1.Timeout = 10000 'give it 10 seconds to complete
      Delay = 0

      ' Ping a host 3 times.
      For Count = 1 To 3
      Ping1.Ping "www.dart.com"
      Delay = Delay + Ping1.Delay
      Next Count

      ' take the average time
      Delay = Delay / Count
      MsgBox "Server is reachable, average delay " & Delay & " ms"

      Exit Sub

      OnError: ' Any error jumps here
      Debug.Print "ERROR #" + CStr(Err.Number) + ": " + Err.Description

       

      Return to Overview

      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
       
      $399.00

      Have any questions about purchasing? See our Sales FAQ