+ Responder ao Tópico



  1. #1
    RAFA_RP
    Visitante

    Padrão SOCKET

    ESTOU IMPLEMENTANDO UM TFTP EM C
    JA FIZ CLIENTE E SERVER MAS NAO FAÇO A MININA IDEIA D COMO ENVIO O ARQUIVO ATRAVES DO SOCKET OU ATE MESMO TRABALHAR COM ARQUIVO EM CSEGUE O FONTE DO CLIENTE
    /* IMPLEMENTANDO TFTP
    RAFA
    */

    #include <stdio.h>
    #include <winsock.h> //Biblioteca para se programar em sockets
    #include <windows.h>
    #include <stdio.h>
    #include <string.h>

    int main(){
    int conecta;
    SOCKET sock; //declaramos no socket como sendo uma variável inteira
    struct sockaddr_in serve; /*declaramos que o alvo é uma variável de structure sockaddr_in.
    Vamos ver isso mais a frente*/

    WSADATA wsaData;
    WSAStartup(MAKEWORD(1, 1), &wsaData);
    /*estas duas linhas fazem o windows entender que é para iniciar a dll e ocx responsável por comunicação na
    internet. Todo o programa de socket deve conter essas linhas. Mais a frente vamos ver isso melhor*/

    if ((sock=socket(AF_INET,SOCK_DGRAM, 17))<0) /*declaração do socket que é da seguinte forma:
    socket(família, tipo do protocolo, número do protocolo);*/
    { fprintf(stderr,"O socket não pode ser criado !\n");
    getch();
    exit(1);
    }


    memset(&(serve),0,sizeof(serve) );//zera a estrutura(serve) e copia na memória(memset)
    serve.sin_family=AF_INET; //Família que usaremos para conectar no alvo
    serve.sin_port=htons(69); //porta que conectaremos
    serve.sin_addr.s_addr=inet_addr("127.0.0.1"); //localhost


    conecta=connect(sock, (struct serve *)&serve, sizeof(serve));
    /*connect(socket_que_declaramos, (struct sockaddr *)&alvo
    (usa algumas coisas que especificamos lá em cima do alvo)*/

    if (conecta<0) printf("Porta fechada");
    else printf("Porta aberta!");
    getch();

    closesocket(sock); //Fecha o socket
    WSACleanup(); //Limpa a estrutura WSA
    return 0;

    }

  2. #2

    Padrão Re: SOCKET

    RAFA_RP,
    Só por curiosidade...
    Você está compilando isso no gcc?

    #libs estranhas
    #include <winsock.h> //Biblioteca para se programar em sockets
    #include <windows.h>

  3. #3
    RAFA_RP
    Visitante

    Padrão Re: SOCKET

    NAUM DEVC++

  4. #4

    Padrão Re: SOCKET

    O DevC++ é só a IDE de desenvolvimento em C/C++, mas o compilado que ela utiliza é o GCC. Eu acho que só alguns compiladores possuem essas bibliotecas mencionadas aí, como o Borland C++ Builder. Mas para tirar a dúvida, vá no diretório de bibliotecas e veja se encontra os arquivos que você tá tentando utilizar.


    Um abraço!

  5. #5
    RAFA_RP
    Visitante

    Padrão Re: SOCKET

    ENTAO GCC DEVE TER ESTA BIBLIOTECA PORQUE ESTA COPILANDO MEU FONTE.
    MINHA DUVIDA É DEPOIS Q DEU CERTO A CONEXAO DOS SOCKET SERVER E CLIENTE COMO FAÇO PRA ENVIAR UM ARQUIVO??
    http://www.inf.unisinos.br/~roesler/...-winsocks2.txt


    VLW
    &#91;]'S