Pergunta

Estou fazendo alguma manutenção em software e tem um problema que eu não entendo.

A aplicação foi desenvolvida usando o Microsoft Visual C ++ 6 e roda em Windows XP. É composto de 21 aplicativos que se comunicam entre si através de sockets UDP. É uma simulação de um sistema de aviônicos embutido usado para depurar o sistema em um ambiente de PC. Cada uma das aplicações simula um nó do sistema embarcado e o incorporados em rede é simulada sobre UDP. O sistema funcionou originalmente em vários PCs, mas pode agora corre em uma única máquina quad core.

O sistema está funcionando, mas a comunicação é irritantemente lento. No entanto abrindo o Internet Explorer e visitar um site ou dois set algo que faria com que minhas aplicações, de repente, se comunicar muito rápido para o outro.

Então, minha pergunta é o que fez conjunto Internet Explorer ao visitar um web site para que meu aplicativo também pode configurá-lo? Nenhum dos autores originais do sistema ainda está por aí e eu tenho muito pequenas janelas experiência de programação.

Foi útil?

Solução

não pode ser um problema janelas afinal

  1. verificar a sua API, verifique o tampão e verificar se há errormessages 'GetLastError ()' que não causa inválido (-1) e pára a tentativa programa para usá-lo mesmo se o seu programa é executado perfectit pode ter advertências úteis

  2. verificar ACK ou ataque velocidade é um problema comum a transferência de grandes quantidades de dados através de conexões de rede (<- 90% é o seu problema), aqui é um tema útil sobre esse assunto (support.microsoft.com/ kb / 823764)

  3. Se nenhuma dessas soluções funcionar, tente verificar a versão do driver contra o site da manfucturer.

  4. último recurso é essas idéias úteis: . usar este www.lvllord.de programa para aumentar max meia / conexões abertas 8-50 . usando uma edição de servidor Windows pode impulsionar alguns programas baseados na Internet . usando multi-threading com soquetes API pode causar alguma confusão para o API se você estiver usando mais de 2 tomadas em diferentes segmentos no aplicativo com vários segmentos, tente otimizar o desempenho usando soquetes assíncronos ou algo parecido (msdn.microsoft.com/en- us / library / ms738551 (VS.85) .aspx)

Então, minha pergunta é o que fez conjunto Internet Explorer ao visitar um web site para que meu aplicativo também pode configurá-lo? Nenhum dos autores originais do sistema ainda está por aí e eu tenho muito pequenas janelas experiência de programação.

pode ser ACK verificá-lo na wiki .. isso significa que de outras maneiras a velocidade de ataque .. se não, então será o tamanho da janela
receber Ambas as configurações são invisíveis para os usuários .. mas pode ser definido através de programas como o TuneUp Utilities ou qualquer outra rede geral adjustors definição Oculto
ele só poderia fazer o truque ..

Outras dicas

Se o protocolo acima UDP implementos confiabilidade a perda de velocidade será devido à enorme perda de pacotes UDP em localhost. desempenho UDP em localhost é terrível, sua melhor aposta é para embrulhar o API tomada dentro de uma camada TCP.

Se é UDP difusão ou multicast você terá que olhar para a implementação de um processo de corretor para multiplexar as mensagens sobre TCP.

Pode ser mais fácil olhar para APIs de mensagens existente que funcionam bem no nível entre processos tais como ZeroMQ .

Tente usar Wireshark para ver o que o Internet Explorer está fazendo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top