What's new in SocketWrench Freeware Edition 6.0

Feb 27, 2010
  • There have been a significant number of internal changes to the control in this release of SocketWrench. We've made improvements to overall performance, and made some structural changes to the code to eliminate compatibility issues with Windows Vista. Along with these changes, it's important to note that SocketTools 6.0 is only compatible with Windows 2000 and later versions. The core networking code was rewritten to use the latest version of the Windows Sockets API and some Microsoft extensions that aren't available in earlier versions of the operating system.
  • One of the significant changes in SocketWrench 6.0 is support for the new Windows Vista platform. Vista contains a lot of changes to the base operating system, enhanced security and a completely new TCP/IP stack. Some of those “under the hood” changes include changes specifically to support Vista, as well as some new features. For example, AES encryption is supported on Vista for secure connections using SSL and TLS. However, it’s important to note that you won’t have a problem deploying your applications to earlier versions of Windows. You don’t need write any platform-specific code to use our controls; we handle all of the differences internally, whether you’re running on Windows 2000, Windows XP, Windows Server 2003 or Windows Vista.
  • Another one of the key architectural changes in this version is a new threading model for the libraries which makes it much easier to build multithreaded applications. This new functionality can be enabled with a single option when establishing the connection. With free threading, handle and object ownership is no longer restricted to the thread that created it, and you have complete control over how threads are used to manage the network session.
  • For anyone who upgraded from earlier versions of SocketWrench to version 4.0, one of the big changes was that the version 4.0 interfaces were not source compatible. It was something that we felt was important to do in order to lay the foundation for future versions of SocketWrench, but it did make the upgrade process more difficult. Fortunately, you’ll find that upgrading to version 6.0 will be seamless and requires no changes to your existing code. You’re free to change your code to take advantage of the new features, but all you’ll need to do is reference the new controls. However, it’s important to keep in mind that the new version is not binary compatible with previous versions. In other words, they aren’t drop-in replacements for the same controls, so it does mean that you’ll need to recompile your application. The good news there is that it also means that the 5.0 controls can co-exist with any previous versions of SocketWrench without a problem.
  • If you're upgrading from an earlier version of SocketWrench, aside from many of the internal changes made to the components, we've also added new functionality. For developers using the SocketWrench control, we've also added some new methods that make reading and writing large streams of data as simple as a single method call. Review the ReadStream and WriteStream methods. If your application is exchanging data with the remote host as lines of text, then you'll also want to take a look at the new ReadLine and WriteLine methods. By popular request, we've added a new Peek method that will enable you to read data from the socket without removing it from the socket buffers. There's also been some minor interface changes which won't affect code compatibility. For example, the ReadEx and WriteEx methods have been deprecated, with the standard Read and Write methods taking on their functionality. A new Bind method has also been added to make it easier to implement UDP based servers.

New in SocketWrench Freeware Edition 6.0 Build 6000 (Feb 27, 2010)

  • New Internet Server ActiveX control and .NET class which enables developers to easily create multi-threaded, event-driven server applications. For more information, refer to the documentation for the InternetServer control.
  • Updated for full compatibility with the Windows Server 2008 and Windows Vista SP1 platforms, supporting the new security model and TCP/IP stack. It is recommended that applications which target these platforms upgrade to the current version.
  • Core networking code updated to use Windows Sockets 2.2 API and removed all previous dependencies on the Windows Sockets 1.1 and deprecated TCP/IP stack in unsupported versions of Windows. SocketWrench is only supported on Windows 2000 and later platforms.
  • Redesigned the memory management code used to allocate buffers and internal socket data structures, improving performance and reducing overhead when multiple sessions are created in a multithreaded application.
  • Improved the performance of the ReadStream and WriteStream methods under certain high-latency conditions when reading or writing large blocks of data.
  • Corrected a problem with the Peek method in the SocketWrench ActiveX control and the InetPeek function in the library where it did not function similarly to the Read method and InetRead function, respectively. This could yield unexpected results because it ignored the blocking state of the socket. The Peek method and InetPeek function will now cause the current thread to block if a blocking socket is being used.
  • The ReadEx and WriteEx methods in the SocketWrench ActiveX control has been deprecated and should no longer be used. The Read and Write methods have been extended to support additional arguments.
  • Added support for AES (Advanced Encryption Standard) encryption for secure SSL/TLS connections on Windows Server 2008 and Windows Vista.
  • Updated the Developers Guide and Technical Reference and made improvements and corrections to the overall documentation.

New in SocketWrench Freeware Edition 5.0 Build 5035 (Feb 27, 2010)

  • A new release with support for Windows Vista and enhanced features.