Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

Rat

Passar int por Socket

Mensagens Recomendadas

Rat    0
Rat

Boas pessoal, eu queria vos perguntar como eh que posso passar um numero inteiro através de uma socket... Sempre que vejo nos tutoriais so passam chars e strings.

Obrigado

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Rui Carlos    310
Rui Carlos

Nunca usei sockets em C, mas, em último caso, podes converter um inteiro para um array de chars/string, enviá-lo, e voltar a converter para inteiro depois de o converter.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Rat    0
Rat

é capaz de resultar, mas o problema eh mais complexo, porque nao sou eu a fazer o servidor, eu tenho de fazer um cliente que se conecta a um servidor, recebe 4 unsigned ints, soma os e manda o total dos valores...

mas vou tentar isso, obrigado

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Rui Carlos    310
Rui Carlos

Se estás a usar as funções send/recv do unix, ele recebe um apontador para void, logo deve poder enviar o inteiro directamente. Só tens que meter no campo de tamanho sizeof(int).

Não sei é se isto não dará problemas caso as máquinas em comunicação usem arquitecturas que representam os inteiros de modo diferente.

De qualquer forma, deves ver como é que o servidor envia os inteiros, e a partir daí é que fazes o teu programa.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
bruno1234    20
bruno1234

Isso depende de como é enviado.

O envio é smp byte a byte, o q certas linguagens fazem, como o java é disponibilizar métodos como o WriteInt(), WriteString(), ... que além dos bytes do valor envia tb dados sobre como reconstruir num objecto java.

Isto para do lado do receptor fazer o ReadInt(), ReadString()....

No entanto é à mm um array de bytes, apenas está disfarçado.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade