Link to home
Start Free TrialLog in
Avatar of esam_rabbaa
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.
Avatar of Bob Learned
Bob Learned
Flag of United States of America image

Do your client cross network boundaries, or are they all internal calls?
Avatar of esam_rabbaa
esam_rabbaa

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.
By native I meant a wrapper client over Websockets protocol
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.
ASKER CERTIFIED SOLUTION
Avatar of ambience
ambience
Flag of Pakistan image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
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
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
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.
@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.