Ajuda desenvolvimento de driver atraves the communicação Ethernet

Prezados,

Estou a desenvolver um driver no SadaBR para comunicação atraves de Ethernet (Sockets).
Neste momento o driver esta a funcionar corretamente só que os metodos Socket que estou a usar para envio e recolha da resposta não é o mais adequado.
A comunicação com o equipamento é algo demorada, pois troca varias mensagens para poder recolher os dados finais. Devido a este facto quando tenho dois dataSources activos a ligação ethernet bloqueia, pois os pedidos são efectuados quase em simultanio mas como ainda existem pedidos a ser efetuados do primeiro que ganha acesso a comunicação esta bloqueia.

Será que me poderiam dizer qual a melhor maneira de poder gerenciar o envio dos dados por TCP/IP de modo a não ter as comunicação bloqueadas. Ou seja necessito que o envio de comunicação de cada datasource só seja efetuado após o primeiro estar completo.