Ir para conteúdo
  • Cadastre-se

dev botao

Acbr Monitor Como Enviar Comandos Tcp Ip


geanalexandre
  • Este tópico foi criado há 2418 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Olá meu nome é Gean Alexandre , estou testando o componet acbr para emissão de nfe, gostaria de saber como funciona a implementação dele via socket com a linguagem C#, ou se ha alguma outra maneira melhor para fazer a integração com a linguagem,desenvolvi um codigo para enviar o comando para monitor porem o mesmo não está funcionando.

static void Main()
        {
            const string coomand = @"NFE.STATUSSERVICO";
            const string ip = @"10.1.1.3";
            const int port = 3436;

            var bytes = new byte[256];

            var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            socket.Connect(ip, port);

            socket.Send(Encoding.UTF8.GetBytes(coomand), coomand.Length, SocketFlags.None);
            var received = socket.Receive(bytes);

            if (received > 0)
                Console.WriteLine(Encoding.ASCII.GetString(bytes));

            Console.ReadKey();
        }

out :

 

ACBrNFeMonitor2 Ver. 0.8.3 - CAPICOM
Conectado em: 10/09/14 01:46:20
Máquina: 10.1.1.3
Esperando por comandos.
 
gostaria da ajuda para integração do mesmo 
 
att Gean Alexandre
Link para o comentário
Compartilhar em outros sites

 

ou se ha alguma outra maneira melhor para fazer a integração com a linguagem

 

Com certeza a mais facil é por arquivo txt.

 

O monitor fica num loop esperando por arquivos de texto e depois escreve outro como resposta dos comandos contidos no mesmo

Link para o comentário
Compartilhar em outros sites

 

Olá meu nome é Gean Alexandre , estou testando o componet acbr para emissão de nfe, gostaria de saber como funciona a implementação dele via socket com a linguagem C#, ou se ha alguma outra maneira melhor para fazer a integração com a linguagem,desenvolvi um codigo para enviar o comando para monitor porem o mesmo não está funcionando.

static void Main()
        {
            const string coomand = @"NFE.STATUSSERVICO";
            const string ip = @"10.1.1.3";
            const int port = 3436;

            var bytes = new byte[256];

            var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            socket.Connect(ip, port);

            socket.Send(Encoding.UTF8.GetBytes(coomand), coomand.Length, SocketFlags.None);
            var received = socket.Receive(bytes);

            if (received > 0)
                Console.WriteLine(Encoding.ASCII.GetString(bytes));

            Console.ReadKey();
        }

out :

 

ACBrNFeMonitor2 Ver. 0.8.3 - CAPICOM
Conectado em: 10/09/14 01:46:20
Máquina: 10.1.1.3
Esperando por comandos.
 
gostaria da ajuda para integração do mesmo 
 
att Gean Alexandre

 

Gean

 

 

Bom dia

 

 

Neste tópico existem muitas informações discutidas sobre o asusnto, embora não especificamente para C#, porém pode te ajudar a elucidar algumas dúvidas em termos técnico e lógico.

 

 

 

[]s,

Jorge Andrade

 

"Quem tem medo de perguntar, está fadado a eternizar-se na dúvida - [Jorge Andrade]";
 

"A soberba,  é o sentimento caracterizado pela pretensão de superioridade sobre as demais pessoas, levando a manifestações ostensivas de arrogância, por vezes sem fundamento algum em fatos ou variáveis reais - [Desconhecido";
 

"Aquele  que pesquisa antes de indagar, tem a grande chance de dirimir as suas dúvidas, fixar o aprendizado da pesquisa e evoluir para outros conhecimentos inesperados - [Jorge Andrade]";
 

"Os políticos e as fraldas devem ser trocados frequentemente e pela mesma razão - [Éça de Queiroz]".

Link para o comentário
Compartilhar em outros sites

  • 3 anos depois...

gean alexandre,

Eu estava com o mesmo problema no C#, mudei a codificação de UTF8 para ASCII e funcionou. Meu código ficou assim:

string strComandoACBR;
byte[] msg;
string strEnderecoIP = "127.0.0.1";
IPEndPoint ipEnd_cliente = new IPEndPoint(IPAddress.Parse(strEnderecoIP), 3434);
Socket clientSock_cliente = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
// conecta ao socket do ACBR Monitor
clientSock_cliente.Connect(ipEnd_cliente);
// mandar para impressora.
strComandoACBR = "NFE.ImprimirDANFE(" + '\u0022' + "c:\\31170604035296000137550010000040621000101686.xml" + '\u0022' + ")";
msg = Encoding.ASCII.GetBytes(strComandoACBR + Environment.NewLine + "." + Environment.NewLine);
clientSock_cliente.Send(msg, 0, msg.Length, 0);

 

Editado por Arnald
Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2418 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.