Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

salahuddin

Cliente UDP

Recommended Posts

Ola Salahuddin.

Primeiro, qual seu sistema operacional e qual compilador voce usa? Se voce usa linux to postando aqui um exemplo de clinte UDP.

/* Headers necessarios */ 	#include <netdb.h>	 #include <sys/socket.h>	 #include <sys/types.h>	 #include <stdio.h>// porta que será usada pelo clienteint main(int argc, char *argv[]) { 	int sockfd;  /* descritor do socket */	struct sockaddr_in outro_end; // informções de endereço remoto	struct hostent *he; 	int numbytes;   	if (argc != 3) {		 printf("uso: ./cliente hostname mensagem\n"); 		exit(1);	 } 	if ((he=gethostbyname(argv[1])) == NULL) { /* pega informação do host("gethostbyname");  */		exit(1); 	}    /* aqui é criado o socket  UDP, ou seja, SOCK_DGRAM*/	if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) {		 perror("socket"); 		exit(1);	 } 	outro_end.sin_family = AF_INET; 	outro_end.sin_port = htons(4950); 	outro_end.sin_addr = *((struct in_addr *)he->h_addr_list[0]); 	bzero(&(outro_end.sin_zero), 8);  /* aqui voce coloca em uma linha só */ if ((numbytes=sendto(sockfd, argv[2], strlen(argv[2]), 0, (struct sockaddr *)&outro_end, sizeof(struct sockaddr))) == -1){	 perror("recvfrom"); exit(1); } printf("enviou %d bytes para %s\n", numbytes, inet_ntoa(outro_end.sin_addr)); close(sockfd);  /* fecha o socket criado */return 0; }
Uma coisa que voce deve ficar atento sobre programação de sockets é a inclusão do headers necessarios, senao

na hora da compilação ocorrerá um erro.

Se quiser uns tutorias sobre sockets visita esse site que eu fiz, que lah tenha dois tutorias:

Hackers Linux.

Falou. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ih cara! eh complicado mesmo esse trabalho. Qual curso voce faz? Para resolver esse trabalho tem que usar sockets RAW pelo jeito. Nao eh mesmo?Mas o estranho é que se pede para construir um cliente UDP e enviar aqueles campos. Mas talvez eu possa te ajudar. Vou ver o que faço, inclusive acho que tenho os codigos aqui sobre isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ENGENHARIA DE SISTEMAS DE COMPUTAÇÃO O PROFESSOR DEU NOS UM PRAZO ATE 24-11-2005ESTOU MESMO ARRASCAMAS FICO MUITO AGRADECIDO POR TUDO O QUE FIZESTESE PRECISARES DE ALGUMA COISA DESTE LADO É SÓ DIZERESSAUDAÇÕES

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.