Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DLL Talk / [LOCKED] Winsock DBP Plugin -- Fully documentated

Author
Message
Barnski
18
Years of Service
User Offline
Joined: 26th Jan 2006
Location: Switzerland, Zurich
Posted: 4th Mar 2006 02:04 Edited at: 5th Mar 2006 19:24
Hello all!

I'd like to present my Winsock Plugin, it's complete and fully documented using the DBP IDE help system.

The benefits:
-Winsock2.2 wrapper for TCP & UDP
-fast c++ dll (as fast as I could do )
-easy and fast channel managing with channel-ptr
-direct memory access to packet data (read also the 0 bytes!)
-up to 3970 simultaneous connections (on my PC locally, so: 7940 connections)
-string table without decorated names
-keyword list included for DBP IDE
-help files included for DBP online help (for all 28 commands!)
-new list of commands: http://homepage.swissonline.ch/barnski/winsock.htm
-get help for selected commands in your DBP IDE by pushing F1!
-debug and release version (will come later, after bug squashing)

And most of all; its free for non-commercial use!
If you like it and want to use it as part of a commercial product please send me an email to let me know. I will most likely approve it, just to keep me informed.

You will find my email and the license agreement in the zip. By using my plugin you agree to the terms stated in the license text file.

Attention: It is not yet fully tested, so please take the time to fully debug it with me. Any bug reports will be appreciated! I might also give some support if needed and if time allows it.

Ok, enough said, here is the download link:
http://homepage.swissonline.ch/barnski/Barnski'sWinsockPlugin.zip


Download it and unzip it into your DBP install directory. Read the text files included in the zip for more information about installing and for the user license and agreement!!

Then test it and tell me what you think!

Have Fun!!

greets,
Barnski

edit; for now, you can test these examples for a client and a server, which are also included in the zip in the help section.
client:


server:

Test it and tell me how many connections you can have! I get max. of 3970, the other 30 connection attempts fail. If you get 4000, try to increase the constant that defines the max CLIENT count at the beginning of both files!
Note: In the release version the sending time of the server will be even better than 1 sec for all 3970 cons!

-- I just started with DarkSDK, by translating DBP Projects. --
Zeal
22
Years of Service
User Offline
Joined: 10th Oct 2002
Location: Colorado Springs, CO
Posted: 5th Mar 2006 04:59 Edited at: 5th Mar 2006 05:07
Looks really nice! Dont have much time too look into it now (at work) but I know im going to be needing something like this very soon. Maybe you can help me...

What im looking for is a basic, bare bones, no fuss way to send raw data (via udp packets) from one machine to another. Kinda like sending a memblock back and forth. Is such a thing possible with you program?

*edit of course im using darksdk now, I guess something like this wouldnt do me any good :p

All you need is zeal
Barnski
18
Years of Service
User Offline
Joined: 26th Jan 2006
Location: Switzerland, Zurich
Posted: 5th Mar 2006 11:35
Quote: "What im looking for is a basic, bare bones, no fuss way to send raw data (via udp packets) from one machine to another. Kinda like sending a memblock back and forth. Is such a thing possible with you program?"

Yes this is perfectly possible. I haven't made an example for UDP yet, but I will soon add one. You will be easily able to send memblocks back and forth, by getting the memblock ptr, and then using WINSOCK SEND UDP MESSAGE channel, data_ptr, data_len. At the momemt you cant recv a memblock, just get the data_ptr to the memory location. I will see how to simplify this when making the example.

Quote: "*edit of course im using darksdk now, I guess something like this wouldnt do me any good :p"

As I wrote the dll in c++, I will make it also available for DarkSDK. Could be that I make a c++ library. But at the moment it would be too much work to update both, Plugin and Library every time I implement something new.
In the end I will want to use it in my own DarkSDK projects, thats why I made it in the first place

greets,
Barnski

-- I just started with DarkSDK, by translating DBP Projects. --
Torrey
20
Years of Service
User Offline
Joined: 20th Aug 2004
Location: New Jersey
Posted: 5th Mar 2006 18:34
A library should automatically be generated each time you compile (although I use MSVC, not sure about other compilers). The only thing you'd have to do is put together a file for the users to include with their project to interface the lib with their code.

Barnski
18
Years of Service
User Offline
Joined: 26th Jan 2006
Location: Switzerland, Zurich
Posted: 5th Mar 2006 19:16
Quote: "A library should automatically be generated each time you compile "

Yes it does (I use MSVC++ 2003), but it is still a dll library, isnt it, and it would be better to have a clean library that will be bound into the project.. I might miss something here since I haven't done this yet, so if you know something I don't pls share.

-- I just started with DarkSDK, by translating DBP Projects. --
Zeal
22
Years of Service
User Offline
Joined: 10th Oct 2002
Location: Colorado Springs, CO
Posted: 5th Mar 2006 21:45
Neato! Keep me posted when you get that udp version working!

All you need is zeal
CattleRustler
Retired Moderator
21
Years of Service
User Offline
Joined: 8th Aug 2003
Location: case modding at overclock.net
Posted: 5th Mar 2006 23:26
this thread is ongoing in Program Announcements form

FREE Automatic file updates for your distributed Games and Apps - see Program Announcements Forum - DBP Demo

Login to post a reply

Server time is: 2024-11-24 21:05:45
Your offset time is: 2024-11-24 21:05:45