-
1 Attachment(s)
Ferret.Net
I've been working on this high-level networking object for a while now. The idea is to keep it simple and minimize overhead data.
At this moment there are no channels or sub-channels like in moox. The reason is I haven't really had any use for them, but if people find it useful I'll add them (although they would add some overhead).
Compared to moo there's some new features:
* Global properties - The server can make properties (alterable string) readable/writeable to clients.
* Connection properties - Just like global properties, but related to each connection.
* Functions - You can do client->server, client->client and server->client function calls.
There's no docs atm, but check the included example.
I'm also testing this together with Spike and his team who are making an online game (vortex2 one of them?).
EDIT: A console window is shown when you run an app with Ferret.Net in it. It's for debug purposes. Also, this version expires December 1st.
-
Re: Ferret.Net
Excellent news!
I will see if I am smart enough to figure it out.
I have a couple old MOO games I could convert.
Channels and subchannels were kinda handy in MOO but I don't know if I really need them. I just need a stable multi-user system that can be kept up to date <img src="/center/images/graemlins/smile.gif" alt="" />
-
Re: Ferret.Net
Very nice, I love the functions you can do.
But one thing that I think is odd in most high-level networking objects for MMF is that there is no way to simply send values. Currently we have to send them formatted as strings which gives a big overhead. Would it be possible to send byte-short-long parameters as well?
One thing I noticed, if you press F2 to restart the application, it doesn't seem to reconnect properly. It just adds 'Client connected' to the debuggin console but not doing anything in the fram itself.
-
Re: Ferret.Net
Jeff, I think the functions you can do with Ferret.NET will eliminate the use of subchannels <img src="/center/images/graemlins/smile.gif" alt="" />
The smart part of it is that you can send a function like:
"MovePlayer" with the parameters "234", "345", "23" (X,Y,Speed) where you on MooClick just would send that data over different subchannels. You can do it all, just in a different way.
-
Re: Ferret.Net
[]But one thing that I think is odd in most high-level networking objects for MMF is that there is no way to simply send values. Currently we have to send them formatted as strings which gives a big overhead. Would it be possible to send byte-short-long parameters as well?[/]
Do you mean as a parameter in a function? Or do you mean like "Send value %" and then the recipient would trigger a "On receive value"?
[]One thing I noticed, if you press F2 to restart the application, it doesn't seem to reconnect properly. It just adds 'Client connected' to the debuggin console but not doing anything in the fram itself.[/]
I noticed DestroyRunObject doesn't close open connections so it should be fixed now.
-
Re: Ferret.Net
[]Do you mean as a parameter in a function? Or do you mean like "Send value %" and then the recipient would trigger a "On receive value"?[/]
In parameters mostly I think.
It would be nice to be able to send functions like i demonstrated in the earlier post.
For example being able to send function "Move" with different value parameters such as UserID, TargetX, TargetY and Speed parameters witout sending alot of text.
The action 'Send value' would be nice as well but I don't see many uses for it if it isn't used with any other type of communication. Unless you just want to make a server that constantly sends value data to the client of opposite.
I also really like the 'Send binary' action to send from memory address with length, but what about an action for sending a file in part or whole? Or if you add those value parameters, maybe there would be room for a 'binary' parameter.
I actually also started a Project like this a while ago that should be called "NetFunction". It can add all sorts of parameters: byte,short,long and string/binary and send it over a socket to the server that then prints it out in the console. I don't know how far I will get with this project now that this Ferret.NET object looks like it can do a whole lot of what I planned and even more.
-
Re: Ferret.Net
I see what you mean, that would be useful.
[]but what about an action for sending a file in part or whole? Or if you add those value parameters, maybe there would be room for a 'binary' parameter.[/]
Sending a file would be nice. I guess there should be conditions like "On file start", "On file part" and "On file done". Binary parameters would work aswell.
[]I actually also started a Project like this a while ago that should be called "NetFunction". It can add all sorts of parameters: byte,short,long and string/binary and send it over a socket to the server that then prints it out in the console. I don't know how far I will get with this project now that this Ferret.NET object looks like it can do a whole lot of what I planned and even more.[/]
I remember talking about that earlier. The simplicity of such an extension would be useful I think, for a user who doesn't need the other features.
-
Re: Ferret.Net
Sounds good. Yeah my time is limited, but I am helping out Spike and his team a small bit with their game.
-
Re: Ferret.Net
Looks cool (and I like the icon). Is there any chance that there will be a Jamagic, C++ or Java version for servers?
BTW: It is nice that you are making use of the debugger.
-
Re: Ferret.Net
[]Looks cool (and I like the icon). Is there any chance that there will be a Jamagic, C++ or Java version for servers?
[/]
A C++ server would be easy and I guess there's no harm in releasing the protocol for others to make Jamagic/Java servers?
[]
BTW: It is nice that you are making use of the debugger. [/]
Yeah, it's the first object I've had any use for it really.