Comunicão por Socket TCP - Organização dos dados

7 respostas
marcfreire

Pessoal é o seguinte, tenho que me comunicar com um servidor socket. O tecnico do servidor me enviou os seguintes dados :

IP: 200.171.213.106
Porta:41023

TamanhoInfoTam=2
TipoInfoTam=BINARIO
FormatoInfoTam=HL

Consigo abrir normalmente e me conectar, mas não recebo nada de resposta do servidor, liguei pra lá ,e ele me flw que é pq não to mandando a mensagem no formato correto.
O que tenho que fazer no meu socket pra enviar e mensagem no formato acima ? Estou desenvolvendo em java a aplicação cliente.
Alguem pode me ajudar…

7 Respostas

E

Você vai ter de solicitar a documentação, ou até falar com o desenvolvedor da aplicação servidora. Só com isso:

TamanhoInfoTam=2
TipoInfoTam=BINARIO
FormatoInfoTam=HL

Não dá para fazer absolutamente nada.

KWill

marcfreire:
Pessoal é o seguinte, tenho que me comunicar com um servidor socket. O tecnico do servidor me enviou os seguintes dados :

IP: 200.171.213.106
Porta:41023

TamanhoInfoTam=2
TipoInfoTam=BINARIO
FormatoInfoTam=HL

Consigo abrir normalmente e me conectar, mas não recebo nada de resposta do servidor, liguei pra lá ,e ele me flw que é pq não to mandando a mensagem no formato correto.
O que tenho que fazer no meu socket pra enviar e mensagem no formato acima ? Estou desenvolvendo em java a aplicação cliente.
Alguem pode me ajudar…


Eu pediria a esse técnico uma explicação um pouco melhor sobre o protocolo para conversar com esse servidor, senão acho que não dá.
Que negócio é esse de “HL”? Esse “TamanhoInfoTam” é um tamanho de alguma coisa em bytes? Ou será em bits?
Pelo que estou vendo agora, diria que não consigo decifrar essa documentação.

Inté.

marcfreire

Recebi uma documentação e diz o seguinte :

Protocolo: TCP ou X25

Forma Conexão: Servidor (quando se recebe a solicitação de conexão e a transação) ou Cliente (quando se faz a solicitação de conexão e o envio da transação).

Tipo do tamanho da mensagem: Permite a configuração BINÁRIO ou ASCII.

Tamanho da mensagem: Indica qual o tamanho do campo que envia o tamanho da mensagem que será enviada, pode ser configurado com 0, 2 ou
4. (Caso o protocolo seja TCP é obrigatório o uso de 2 ou 4. Caso Tipo do tamanho da mensagem seja ASCII é obrigatório que o tamanho seja 4)
Formato do Tamanho da Mensagem: É a forma de armazenamento de números de modo que o byte mais significativo fique em primeiro lugar. Por exemplo, o número hexadecimal A02B seria armazenado como A02B pelo método HL (Big-endian ? Hi-Lo) e seria armazenado como 2BA0 pelo método LH (Little-endian ? Lo-Hi).

E

Ainda assim não é suficiente. Você tem um conjunto dos comandos que podem ser enviados da aplicação cliente para a aplicação servidora?

fantomas

Sr marcfreire,

Pede para o esperto que desenvolveu o módulo server te enviar um exemplo de uso (código) do módulo client pra você. E não deixa ele te enrolar não porque se ele fêz a coisa certa (duvido) com certeza fêz um projetinho client para testar o server dele, caso contrário ele não tem como garantir que o server está funcionando corretamente, o que deixa a coisa bem ruim.

Na verdade antes de você ter escrito qualquer linha de código você já deveria ter em suas mãos o modulo client (feito por ELE) pronto para teste em sua máquina para validar a conexão, direitos de acesso e principalmente o protocolo estabelecido entre as 2 partes.

Como já disseram o que lhe foi passado não é o suficiente.

flws

marcfreire

Eu até tenho uma mensagem de exemplo :

01049100A238000001408002020000000000000030000001071737490002921737490107003123400000000000986008000000180001

Mas pelo que eu entendi o problema não é na mensagem propriamente dita, mas sim no formato que eu a envio. é isso que me causa dúvida, como
enviar uma mensagem no formato mencionado. ou seja em Big-endian e em binário.
O servidor é de uma empresa de grande porte, deve esta funcionando corretamente.
O tecnico me flw que tenho que definir na minha aplicação esses parametros. Mas ñ me deu mais detalhes.

fantomas

Hummm…Estou começando a achar que o server não está em java.

Ainda assim vc deveria ter um client (código) com exemplo.

Se a mensagem tiver que ser enviada como uma lista de bytes acredito que ela tenha que ser divida em grupos de 2 em dois digitos. Cada dois digitos deverá ser introduzido em um único byte, ou seja, no final teremos uma lista de 54 bytes. Esta lista é que deverá ser enviada ao server.

01 04 91 00 A2 38 00 00 01 40 80 02 02 00 00 00 00 00 00 00 30 00 00 01 07 17 37 49 00 02 92 17 37 49 01 07 00 31 23 40 00 00 00 00 00 98 60 08 00 00 00 18 00 01

É isto?

Criado 2 de dezembro de 2010
Ultima resposta 2 de dez. de 2010
Respostas 7
Participantes 4