problems using SFS in a pure C# setting
Posted: 27 Sep 2016, 10:46
Hello,
We're trying to use SFS2X for a multi-player game.
As we're a C# shop, we're trying to avoid any Java if we possibly can, particularly if we can avoid the whole extensions approach.
We've been able to send our message objects from clients to server and back using SFSObjects and ObjectMessageRequests.
At the moment we're testing with a small number of clients (up to the 99 limit of the Community Edition) with what we think is quite a moderate volume of messages: 2 updates per second from the server to each client (about 1-2 KB each) and 2 request per second from each client to the server (about 500 bytes each).
The problem is some of the packets get dropped, particularly ones being sent from the server to clients, which kind of makes sense as this channel is the busiest, but we don't think we're having enough clients or producing enough traffic to justify the problem - aren't there games using SmartFox with many thousands of concurrent clients and much higher data rate?
We've ruled out the network bandwidth problem, as the same happens when all the clients, the server and SFS are on the same LAN.
One suspicion we have is that as far as SFS is concerned, the server is just another client, only busier - is there a special way of designating a particular connected party as the server and not just one of the clients (and thus allocating it more bandwidth and/or higher priority)?
Are we correct to think that we can't use ISFSObject.PutClass without entering the extensions (and hence Java) realm?
Are we doing something horribly wrong?
Could it be because we're currently using the Community Edition? Or maybe because we're avoiding using extensions?
We're using SmartFoxServer2X v2.9.0 and C# client API v1.6.5.
Thank you in advance,
Sasha
We're trying to use SFS2X for a multi-player game.
As we're a C# shop, we're trying to avoid any Java if we possibly can, particularly if we can avoid the whole extensions approach.
We've been able to send our message objects from clients to server and back using SFSObjects and ObjectMessageRequests.
At the moment we're testing with a small number of clients (up to the 99 limit of the Community Edition) with what we think is quite a moderate volume of messages: 2 updates per second from the server to each client (about 1-2 KB each) and 2 request per second from each client to the server (about 500 bytes each).
The problem is some of the packets get dropped, particularly ones being sent from the server to clients, which kind of makes sense as this channel is the busiest, but we don't think we're having enough clients or producing enough traffic to justify the problem - aren't there games using SmartFox with many thousands of concurrent clients and much higher data rate?
We've ruled out the network bandwidth problem, as the same happens when all the clients, the server and SFS are on the same LAN.
One suspicion we have is that as far as SFS is concerned, the server is just another client, only busier - is there a special way of designating a particular connected party as the server and not just one of the clients (and thus allocating it more bandwidth and/or higher priority)?
Are we correct to think that we can't use ISFSObject.PutClass without entering the extensions (and hence Java) realm?
Are we doing something horribly wrong?
Could it be because we're currently using the Community Edition? Or maybe because we're avoiding using extensions?
We're using SmartFoxServer2X v2.9.0 and C# client API v1.6.5.
Thank you in advance,
Sasha