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.