But very powerful..
Nice! Keep on coding!
Posted 30 December 2011 - 07:10 PM
Posted 02 January 2012 - 12:58 PM
Posted 05 February 2012 - 08:17 AM
Posted 05 February 2012 - 03:57 PM
This somehow dropped from my todo list before I made a new release. I'll fix that soon (probably next week). MAC address detection will be included in some form.So Medo, are you going to add mac address functionality or not? I'd really not prefer having to have 39dll for just that and I'm sure many others use that function feel similarly.
Edited by Medo42, 05 February 2012 - 09:36 PM.
Posted 07 February 2012 - 09:37 PM
The DLL also fixes an annoying bug/feature in 39dll that can cause data to be lost. With 39dll, the maximum amount of data that can be recieved as a whole is limited by the operating system. Windows will only buffer a fixed amount of data, e.g. 64KB. This might not be enough if you're trying to send large files. If too much data is buffered by the receiver, the sender has to wait to send more data. Since 39dll's sendmessage function doesn't wait, part of the data is lost if too much data is sent at once. This DLL does additional buffering to avoid this problem, so no data is ever lost. You can buffer as much data as you want on both the sending side and the receiving side.
Posted 07 February 2012 - 10:19 PM
Yes, this is definitely something Faucet Networking solves, it was in fact one of the main problems I had with 39dll which drove me to start this project. If you send a large block of data at once, it will all be buffered and then fed to the operating system by a background thread. For a longer elaboration you can read my 39dll rant in the first post of this thread, and a comparison of the "correct" way to perform a nonblocking send in 39dll and in this extension. It is possible with 39dll, it's just very convoluted :-)Greetings.
While studying different alternatives of 39dll, i found this one too : http dll 2
In this one , the autor refers to an issue of 39dll :
The DLL also fixes an annoying bug/feature in 39dll that can cause data to be lost. With 39dll, the maximum amount of data that can be recieved as a whole is limited by the operating system. Windows will only buffer a fixed amount of data, e.g. 64KB. This might not be enough if you're trying to send large files. If too much data is buffered by the receiver, the sender has to wait to send more data. Since 39dll's sendmessage function doesn't wait, part of the data is lost if too much data is sent at once. This DLL does additional buffering to avoid this problem, so no data is ever lost. You can buffer as much data as you want on both the sending side and the receiving side.
Are you aware of this issue , and is it solved in Faucet Networking ?
Thanks!
Posted 08 February 2012 - 09:34 AM
Posted 08 February 2012 - 12:26 PM
Edited by orange451, 08 February 2012 - 02:17 PM.
Posted 08 February 2012 - 08:17 PM
I can include the raw dll in the upcoming update, but I won't include a source file with GML helper scripts at this time. It is worth considering that the use of GML scripts to wrap DLL calls has a considerable overhead.Is there a dll form of this available? I like having these types of things external from my exe's :3
var addrString, pos, mac;
addrString = mac_addrs();
pos = string_pos(",",addrString);
while(pos>0) {
mac = string_copy(addrString, 1, pos-1);
addrString = string_delete(addrString, 1, pos);
show_message(mac);
pos = string_pos(",",addrString);
}
show_message(addrString);Since 39dll just blindly takes the first interface and assumes its hardware address to be 6 bytes long, this should give you the same output as 39dll's getmacaddress:string_copy(mac_addrs(), 1, 17);
Posted 08 February 2012 - 11:06 PM
Posted 09 February 2012 - 12:52 PM
Posted 09 February 2012 - 02:27 PM
Yes, this happens in a separate worker thread. In a normal network game situation this should not affect the transfer speed because you will typically send less than a kilobyte over a single socket per step. However, if you want to transfer a large ammount of data with a single nonblocking call per step, I would imagine 39dll to be slower, because the ammount you can send/receive each step is limited by the socket buffer size in the operating system. I did not test this though.Another question. Does this create it's own thread to handle downloading/uploading the packets? If so, would this be a "speed" boost of sorts compared to 39dll which is limited to the room speed?
Edited by Medo42, 09 February 2012 - 02:28 PM.
Posted 09 February 2012 - 05:09 PM
Posted 09 February 2012 - 10:11 PM
Edited by Medo42, 09 February 2012 - 10:14 PM.
Posted 10 February 2012 - 01:55 AM
Posted 10 February 2012 - 02:16 AM
Posted 10 February 2012 - 02:21 AM