esam_rabbaa
asked on
parsing Data then identify the connected client then pass data to him , WCF or Sockets ?
let me describe the scenario here as simple as i can .
1- we have a lot of data sources ( UDP , htpp , TCP ) whatever we got a data with a specific format and we change this formats to our protocol .
2- we have many clients connected to server , and every clients is interested in a subset of data "not whole data ".
3- when data is ready and converted to our protocol( which mean parsing + building msgs) , we have to check which client is interested to this data and we will send it to it ( then the client will pars the msg and convert the data to parameters ( about 20 parameters ) , and process it ) .
ok maybe a lot is asking are you describing a problem or system , actually this a system is already built using vb6 and using sockets which mean its is single threaded system , we are in progress to upgrade this system to .net and i'm doing a search to determine if we keep using sockets or using wcf , so i'm asking all your opinion considering the above design.
1- we have a lot of data sources ( UDP , htpp , TCP ) whatever we got a data with a specific format and we change this formats to our protocol .
2- we have many clients connected to server , and every clients is interested in a subset of data "not whole data ".
3- when data is ready and converted to our protocol( which mean parsing + building msgs) , we have to check which client is interested to this data and we will send it to it ( then the client will pars the msg and convert the data to parameters ( about 20 parameters ) , and process it ) .
ok maybe a lot is asking are you describing a problem or system , actually this a system is already built using vb6 and using sockets which mean its is single threaded system , we are in progress to upgrade this system to .net and i'm doing a search to determine if we keep using sockets or using wcf , so i'm asking all your opinion considering the above design.
Do your client cross network boundaries, or are they all internal calls?
ASKER
all over internet
How about Websockets? Interestingly, I looked at the following Xsockets.NET sample recently and you can see the idea of different clients interested in different data subscribing to it
http://xsockets.net/api/guides/xsockets-sample-stockticker
This sample is for an ASP MVC webapplication, however XSockets can be hosted in a standalone application and also has native Client library so data can be consumed natively as well as from any client that supports Websockets.
http://xsockets.net/api/guides/xsockets-sample-stockticker
This sample is for an ASP MVC webapplication, however XSockets can be hosted in a standalone application and also has native Client library so data can be consumed natively as well as from any client that supports Websockets.
By native I meant a wrapper client over Websockets protocol
ASKER
ok , I may not be clear enough , the server is a windows application , and we need to recreate it as windows application , coz the the datasource maybe not be compatible with web ( maybe udp ) my question is , which better to us to create it , WCF or sockets , and also the clients will be windows applications not web based pages .
If you are crossing network boundaries, web services are a good choice. They don't always fit every requirement, though, and I am not sure if WCF would support your needs fully, so I would suggest doing a little prototype web service to determine if it is possible.
What is a datasource in your definition, it sounds more like a data consumer after reading your last comment. Im assuming a data source is a source and not a consumer of data. In that case it can be anything, Xsockets is the comm between clients and server.
You didn't read this part maybe?
"however XSockets can be hosted in a standalone application"
XSockets is just a toolkit for Websockets and whether you host it in web or windows application or even a service is up to you. Since you are targeting Internet, web/HTTP protocols play better with firewalls and NATs.
You didn't read this part maybe?
"however XSockets can be hosted in a standalone application"
XSockets is just a toolkit for Websockets and whether you host it in web or windows application or even a service is up to you. Since you are targeting Internet, web/HTTP protocols play better with firewalls and NATs.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
clients are windows based application , and the way that we use is push data not polling , and client side already implemented using .net framework 4 , but making it using web sockets ?!! its not making senses to me actually .
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
If it still doesn't make sense then disregard it, there are other ways, I don't want to describe the same thing several times asking to read comments objectively. There are obviously things that you know and others dont.
I've requested that this question be closed as follows:
Accepted answer: 250 points for Bob Learned (TheLearnedOne)'s comment #a39570904
Assisted answer: 250 points for Bob Learned (TheLearnedOne)'s comment #a39571007
for the following reason:
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
Accepted answer: 250 points for Bob Learned (TheLearnedOne)'s comment #a39570904
Assisted answer: 250 points for Bob Learned (TheLearnedOne)'s comment #a39571007
for the following reason:
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
@younghv: Really? so the accepted solution comprises following?
"If you are crossing network boundaries, web services are a good choice"
the other one says
"If you are pushing data to the client, then WCF web services are not a very good choice."
I would like to know the basis on which both these comments qualify while other don't?
I'm surprised at your judgement.
"If you are crossing network boundaries, web services are a good choice"
the other one says
"If you are pushing data to the client, then WCF web services are not a very good choice."
I would like to know the basis on which both these comments qualify while other don't?
I'm surprised at your judgement.