Version: 1.1.1.0
Create multi-threaded servers and powerful Internet applications in .NET.
Q: Can I encrypt data with this product?
A: PowerTCP SSL Sockets for .NET includes the SymmetricCryptoStream class, which provides private key encryption. Use this class to encrypt your data with any encryption algorithm, including AES. Since this mechanism is Stream-based you can easily encrypt data file-to-file, memory-to-file, or memory-to-memory.
Back to Top
Q: Can I use SSL with this product?
A: PowerTCP SSL Sockets for .NET includes a Secure Tcp component which encrypts data, decrypts data, and handles SSL authentication. It enables you to easily communicate over a network using SSL. The PowerTCP Sockets for .NET is identical with the exception of support for SSL encryption and certificate authentication.
Back to Top
Q: Do samples ship with the product?
A: Absolutely. We ship complete finished apps (not just simple technology demonstrations) in both CSharp and Visual Basic .NET as both Windows Applications and Web Applications.
Back to Top
Q: Does your product support streaming operation?
A: Yes. This product is architected on the basis of streams and almost anything can be represented as a stream.
Back to Top
Q: Extensive designer support? What does this mean?
A: We provide extensive support to help you design, develop, and debug quicker and easier than ever before. For example, we provide full Help 2.0 documentation (including tutorials) which integrates directly into Visual Studio .NET. Also, some products include integrated Editor Forms which can be used for protocol testing.
Back to Top
Q: How will I be affected if I have installed Windows XP SP2?
A: Microsoft Windows XP SP2 is a large update to the Windows XP operating system. The focus of this update is to tighten system security. One of those features is the built-in firewall. By default, Microsoft will turn on the firewall and block all applications from communicating over the Internet. As most PowerTCP products are designed for building Internet applications, those applications may be blocked from accessing the network. The solution to this problem, as it is for any application that needs to access the network, is to grant permission using Microsoft’s configuration utility. Instructions on using the Microsoft firewall are at http://www.microsoft.com/windowsxp/using/security/internet/sp2_wfintro.mspx, and more information about manual network security configuration is available by reading Microsoft Knowledge Base Article - 842242 . Also, Microsoft will disallow using ActiveX controls in Internet Explorer by default. It your web application uses PowerTCP ActiveX controls in IE, your users will have to manually adjust their security settings to allow ActiveX usage. If you find any other problems with SP2 and PowerTCP products, please contact Dart support at support@dart.com.
Back to Top
Q: I exported a certificate from my UNIX operating system to use with your product in SSL mode, but it doesn't seem to work.
A: Our implementation requires that a certificate be properly imported into a valid Microsoft Certificate Store. If you are importing a certificate that was created from a non-MS source (such as OpenSSL), please be sure that you export the certificate properly before attempting to import it into an MS Cert store. Check the docs for whatever SSL system you are using for this info. Also, make sure that when you export your certificate, regardless of your SSL library, that it includes the private key. A certificate that is exported without a private key can not be used as a valid certificate when imported into the Microsoft Certificate Store.
Back to Top
Q: I just upgraded to the latest version of PowerTCP XXX for .NET, now my Delphi 8 app does not compile. I get an error about a manifest declaration.
A: Delphi caches information about the component when you insert it. Close Delphi and delete any Dart.PowerTCP.xxx.* files that exist, then reopen and rebuild the project.
Back to Top
Q: I put code in my app so that I call Object.Abort in my Form_Closing event but the application process never goes away. How do I do it so that the application disappears from the Task Manager?
A:

Since the component operation is running on it's own thread, it's important to keep the owner thread around long enough for the worker thread to terminate. Here is what we recommend:

1) On the main form, declare two variables:

Dim Working As Boolean = False
Dim Killing As Boolean = False


2) In the Form_Closing, put the following code:

If Working Then
    If (MessageBox.Show(Me, "Do you wish to abort the operation?", APP_NAME, 
    MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes) Then
        Killing = True
        Object.Abort()  'This would be the instance of the component -ex: Archive1.Abort()
    End If
    e.Cancel = True
End If


3) Prior to calling the component operation, set Working to True

4) After the component operation is complete add the following code:

Working = false
If Killing then Me.Close()


 


Back to Top
Q: I see that you have an FTP component, whereas other companies provide FTP classes. What’s the difference, and why would I want to use a component instead of a class?
A: Good question. Dart’s product staff evaluated both approaches, and learned that a relatively small increase in .dll size and loading time would provide a greatly enhanced development experience for our users. With Toolbox support, development-time FTP testing (using the Editor property), support for authoring event handlers, and Properties Window support enhancing our user’s experience, we decided to base our design on the component model. Users can still use our FTP component as a class where-ever desired, so the only trade-off has been a negligible increase in size and loading time (run-time performance is unaffected).
Back to Top
Q: Is the free trial a 'full version'?
A: Yes. Your trial download is identical to the purchased product. The only difference is the trial download will only work for 30 days (in the case of ActiveX products) or will work for 7 days between each rebuild (for .NET products).
Back to Top
Q: When running my server I am hitting the maximum thread limit, what do I do?
A: The default thread limit is 25 worker threads. That limit can be programmatically adjusted using .NET. You can read a discussion concerning thread management on our support forum at http://support.dart.com/postings?topicid=2821.
Back to Top
Q: Why doesn't the connection go away when the network plug is removed? Is this a bug?
A: This is not a bug, but an operating system setting. All you have to is enable KeepAlive by reading the following:
http://www.winguides.com/registry/display.php/891/
and then set Tcp.KeepAlive = true for the child connection.
Back to Top
Q: Why should I use the Tcp component included with PowerTCP Sockets for .NET over the built in .NET Framework support?
A: Yes, communication over TCP is supported in the .NET Framework using System.Net.Sockets.Socket. However, the .NET Framework's implementation is very "stripped-down". We have taken the lessons learned from developing Internet components for 8 years to create a feature-rich and easy-to-use Tcp component which we use for all of our products.

Here are some of the benefits of using the Tcp class over the .NET Framework implementation:

  • Stream-interface allows advanced reading and writing, such as reading fixed-size records and reading to a delimiter.
  • Included support for SSL communications.
  • Fully implemented events which are more familiar to VB developers.
  • Includes useful events such as ConnectedChanged and Trace.
  • Built in designer support such as the Tcp.Editor makes testing and debugging easier.

Back to Top
Q: Why should I use your DNS component in place of the System.Net.Dns class?
A: Our Dns component has extra capabilites not included in System.Net.Dns such as the ability to resolve an email address to the mail server responsible for the email address.
Back to Top
Q: Why do I see an 'Attempting to deserialize an empty stream' exception when I build my VS.NET 2008 Website?
A: Websites create an App_Licenses.dll for component licensing which must be distributed with the application.  Due to an apparent VS.NET 2008 bug, this dll is faulty when created during compilation on a 64 bit Operating System.  To work-around the problem, the App_Licenses dll in the 2008 Website can be replaced. 

Options include:
a) Compile a 2005 WebSite on the same (licensed) machine using the same controls/components
b) Compile a 2005 or 2008 WebSite on a 32 bit OS machine, provided this machine is also licensed (Dart Developer licenses allow installation on up to two machines)

Replace the faulty App_Licenses.dll with the resulting dll from one of the options above, and the Website should build and deploy without issue.  Do not delete the new dll, or VS.NET will again create a new faulty one in its place.


Back to Top