none
Socket - Servidor RRS feed

  • Pergunta

  • Ola a todos não consigo fazer o código abaixo compilar (DevC++ 4.9.9.2), gostaria de uma ajuda para saber como concertar isso, ou se esta faltando (provavel) adicionar, alguma referência a alguma dll, não mensionada na linha de comando, Enfim ... Ou tambem esboça um modelo de socket diferente deste abaixo mas que compile (servidor), seja como for obrigado:

     

     

    // Esse é um modelo de servidor, adicionei apenas essas duas referências na linha de comando: -l wsock32 -l Ws2_32, mas continua não compilando Os erros estão no final
    #include<sys/types.h>
    #include<sys/socket.h>
    #include<netinet/in.h>
    #include<unistd.h>
    #include<stdlib.h>
    #include<stdio.h>
    #include <stdio.h>
    #include <string.h>
    #include <windows.h>
    #include <stdlib.h>
    #include <winreg.h>
    #include <winsock.h>
    #include <Winuser.h>
    #include <iostream>
    #include <winsock2.h>
    #include <Ws2tcpip.h>
    #include <conio.h>
    #define UNICODE

    main()
    {
    int cont,create_socket,new_socket,addrlen;
    int bufsize = 1024;
    char *buffer = malloc(bufsize);
    struct sockaddr_in address;

    printf("\x1B[2J");
    if ((create_socket = socket(AF_INET,SOCK_STREAM,0)) > 0)
    printf("The socket was created\n");
    address.sin_family = AF_INET;
    address.sin_addr.s_addr = INADDR_ANY;
    address.sin_port = htons(15000);
    if (bind(create_socket,(struct sockaddr *)&address,sizeof(address)) == 0)
    printf("Binding Socket\n");
    listen(create_socket,3);
    addrlen = sizeof(struct sockaddr_in);
    new_socket = accept(create_socket,(struct sockaddr *)&address,&addrlen);
    if (new_socket > 0){
    printf("The Client %s is connected...\n",inet_ntoa(address.sin_addr));
    for(cont=1;cont<5000;cont++)
    printf("\x7");
    }
    do{
    printf("Message to send: ");
    gets(buffer);
    send(new_socket,buffer,bufsize,0);
    recv(new_socket,buffer,bufsize,0);
    printf("Message recieved: %s\n",buffer);
    }while(strcmp(buffer,"/q")); //user ‘q’ to quit
    close(new_socket);
    close(create_socket);
    }

     

     

    Erros:

     

    server.cpp C:\Users\Raul\Desktop\C sys/socket.h: No such file or directory.
    server.cpp C:\Users\Raul\Desktop\C netinet/in.h: No such file or directory.
    server.cpp In function `int main()':
    server.cpp invalid conversion from `void*' to `char*'

     


    sábado, 30 de abril de 2011 16:08

Todas as Respostas