- Support for different w_char sizes across different machines (Linux and windows can communicate w_char now).
- More helper functions for SPacket.
- MSVC lib compiled properly now.
- Can run along side Irrlicht easily by defining "COMPILE_WITH_IRRLICHT", it will use the Irrlicht containers in this scenario. Otherwise you can also use it without Irrlicht if you want.
Hey guys I decided to release the Beta version which I've been handing around publically.
irrNetLite is an easy to use version of irrNet that does not depend on the irrlicht device or scene nodes. It is purely for easy, no hassle sending of packets using common irrlicht types.
New features in 2.0 include zlib packet compression, an AES encryption/decryption mechanism, more callbacks (For things like On connect/On disconnect) and more or less a complete re-write of the original irrNetLite.
You can get it from here:
http://irrlichtirc.g0dsoft.com/BlindSid ... .1Beta.zip
Excerpt from the tutorial (Updated API, pay attention):
Code: Select all
// To send a packet, first you create an SOutPacket object.
net::SOutPacket packet;
// Then you can use the streaming operator << to add new data to it.
packet << "Help I am stuck on a mountain!";
// You can even chain the << operators like so, just like with ostream.
packet << core::vector3df(50.0f, 30.0f, 20.0f) << 50.0f;
// Compress the packet, not much to be said.
packet.compressPacket();
// Encrypt the packet. Note that here we are just using a simple key
// that is shared among the client and the server. In more sophisticated
// implementations you may want to generate a random key on the server for
// each client and send that using a shared key, then use the new key for
// further communication. Remember that the key should be 16 characters
// long, and obviously the client and server must share the same key.
packet.encryptPacket("hushthisissecret");
// A simple call to "sendOutPacket" will send the packet to the server.
netManager->sendOutPacket(packet);
Most of the usage is similar to this and easy to use. It uses an interface very similar to the irrlicht event reciever, where the you construct a "packet handler" class derived from the base packet handler class and irrNetLite will send all the recieved packets there for processing. irrNetLite is not very big or elaborate, but I think it will help many people who want a no hassle solution to sending and managing their own packets without all the useless overhead and junk contained in irrNet, RakNet, and other big network libs, but also without needing to work with difficult low level api offered by Enet, HawkNL and other low level libraries.
Cheers.