Hi all!
I have just finished and sent v2.0.2 off to TGC! This release includes a number of bug fixes and change requests which have built up over the last few months.
64 bit
Finally 64 bit is now fully tested and supported! .NET, DLL and C++ users can make use of this
.
Visual Studio 2012
Support for visual studio 2012 has been added and MikeNet has been fully tested using it.
Demo code
Demo code has finally been completed; before now most demo code from v1 was not transferred.
For C# and C++ users all of the projects are in one solution which is much neater. Also, the project comes ready to compile in debug and release mode, as well as 32 bit and 64 bit.
You can download the demo code
here.
Here is a nice screenshot:
TCP_RAW TCP Mode
For a long time now people have been complaining about not being able to work with HTTP or other protocols not directly supported by MikeNet.
To solve this I have implemented a raw TCP mode which passes the TCP data straight to your application; MikeNet doesn't parse it at all.
Note that you should make sure you fully understand the TCP protocol before working with it. Of particular importance is the fact that it is a streaming protocol so the notion of packets does not make so much sense. When using TCP_RAW MikeNet packets are streamed, so if you send 10 bytes, you can expect the receiving application to receive between 1 and 10 individual packets, despite only 1 packet being sent. For example, if you send ['hello world'] the receiving end may receive ['he'] ['llo'] [' world']. Your application needs to take this into account.
I have added a demo example in C#, C++ and DBP demonstrating how TCP_RAW can be used to query a web server.
Open Source
I have uploaded MikeNet's source code to
github .
Updated Documentation
The documentation has been updated to reflect the new version, and I'm using a newer version of Doxygen to generate the documentation, which is a little prettier.
See it at the usual place:
www.mikenetapi.net
Conclusion
Let me know if you run into any problems, I am freed up over Christmas to fix any problems but get very busy again after that!
Happy holidays!!
Full change list
Bug fixes:
- Fix bug where mnDNS failure can cause errors later on.
- Fix bug where starting threads (threads are started in module initialization and when encryption/decryption first occurs) can cause unexpected errors.
- Fix bug where UPnP module can fail or trigger errors in some circumstances.
Changes:
- Visual studio 2012 support for .NET and C++ users.
- 64 bit support for .NET, C++ (VS 2010/2012) and DLL users.
- Improved demo code.
- TCP_RAW mode to allow direct TCP communication, useful for HTTP. See HTTP Client demo code.