
Eu criei um aplicativo que usa um modem USB GSM. Quero tentar executar meu aplicativo em meu vps e conectá-lo ao modem GSM em meu PC local. Minhas perguntas são: - Como compartilhar a porta de comunicação local do PC com o vps? - Meu pc local possui um endereço IP público (estático). É necessário ter um ip público? Meu PC local está usando o Windows7 e meu vps está usando o Windows server 2012 r2
Responder1
Eu encontrei a solução. No meu computador local, eu uso hub4com como servidor para compartilhar a porta COM com conexão TCP. E no meu vps eu uso com0com e hub4com. Eu uso o com0com para criar uma porta de comunicação virtual e o hub4com para conectar-se ao hub4com (servidor) no meu computador local.
Quando criamos uma porta de comunicação virtual com com0com, ele cria automaticamente 2 portas de comunicação virtuais, por exemplo: CNCA0 e CNCB0. Pelo que eu sei, o CNCA0 deve ser usado pelo meu aplicativo e o CNCB0 é usado pelo hub4com para conectar-se ao servidor hub4com (meu pc local). Mas, quando tento usar aquela porta de comunicação virtual (CNCA0) com meu aplicativo, recebo um erro. Meu programa é criado com c #, e eu uso a classe SerialPort e acho que ele só aceita nome de porta com alias COM. Então tento alterar as configurações do CNCA0 (em com0com) marcando as opções "usar classe de porta" e "emular taxa de transmissão". E o nome foi alterado de CNCA0 para COM5 (pode variar). E quando verifico o gerenciador de dispositivos, COM5 aparece na seção "Portas (COM e LPT)". E então eu simplesmente executo o hub4com e uso o CNCB0 para conectar ao servidor hub4com no meu pc local. Eu testei e posso enviar um comando AT da minha aplicação (use a porta COM5) em vps para o meu modem no pc local.
A explicação completa pode ser encontradaaqui.