Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - problemi con client winsock.h
Forum - C/C++ - problemi con client winsock.h

Avatar
el borto (Normal User)
Rookie


Messaggi: 47
Iscritto: 19/07/2009

Segnala al moderatore
Postato alle 21:50
Martedì, 21/07/2009
salve a tutti approfitto per presentarmi sono nuovo del forum(complimenti è bellissimo) e mi chiamo alessio ho 17 anni e programmo(o almeno cerco^^)in c\c++.
da tre giorni ho iniziato a vedere un po' di programmazione di rete utilizzando la libreria winsock.h .
come al solito mi sono fatto una buona cultura grazie a internet e ho capito in generale come funzionano e come interagiscono il server e il client e come è mia abitudine ho scaricato parecchi esempi su cui lavorare e imparare fin qui tutto bene....
quando invece ho cercato di far compilare un qualsiasi tipo di client che ho scaricato(ho aggiunto la libreria C:\Dev-Cpp\lib\libws2_32.a nei parametri)
continua a darmi lo stesso errore :
C:\Users\el borto\Desktop\winsock\nuovo tipo che funziona\client\Makefile.win
[Build Error]  [main.o] Error 1

ho provato a vedere se era un errore banale tipo mancanza di un ";" o di una parentesi ma non mi sembra voi per caso riuscite a trovarlo o sapete spiegarmi che tipo di errore è ?

vi metto qui sotto il codice di un client che provato..


#include <windows.h>
#include <winsock2.h> //includo le varie librerie tra cui quella winsock
#include <stdio.h>

int main(int argn,char **argv)
{
    
    int err = 0;
    
SOCKET sock; // creo la socket chiamato sock che userò nella connessione
struct sockaddr_in sock_addr; // inizializzo la socket
WSADATA data;  // inizializzo la variabile che contiene le primitive di Winsock
WORD p;
p=MAKEWORD(2,0);  // creo la variabile p che contiene la versione della wsock32.dll

char messaggio[2000];
int errori = 0;
for (int x=0;;x++){

err = WSAStartup(p,&data); // inizializzo la wsock32.dll verificandone la mancanza di errori



sock=socket(PF_INET,SOCK_STREAM,0);  // creo la socket indicandone le caratteristiche
sock_addr.sin_family=PF_INET; // indico il protocollo utilizzato (TCP/IP)
sock_addr.sin_port=htons(1111); //indico la porta a cui connettere la socket
sock_addr.sin_addr.S_un.S_un_b.s_b1=127; // indico l'indirizzo IP
sock_addr.sin_addr.S_un.S_un_b.s_b2=0;
sock_addr.sin_addr.S_un.S_un_b.s_b3=0;
sock_addr.sin_addr.S_un.S_un_b.s_b4=1;

err = connect(sock,(struct sockaddr*)&sock_addr,sizeof(struct sockaddr)); // mi connetto all'indirizzo scelto

//*********************dialogo***********************//

if (x==0){
    char mex[2000];
    recv(sock,mex,2000,0);

     printf("FROM server: %s",mex);     
    }
          

         
         printf("commands> ");
         gets(messaggio);
         if (messaggio[0] == 'e' && messaggio[1] == 'x' && messaggio[2] == 'i' && messaggio[3] == 't') break;

    errori = send(sock,messaggio,2000,0);
    
if (errori == 2000){
            printf("2000 comando:  %s\n",messaggio);
     }else {    printf("errore send() %d\n" ,errori); }
        


closesocket(sock);  // chiudo la socket
WSACleanup();       //libero le risorse utilizzate dalla libreria Winsock

}//end for


printf("\n\n%d\n",err);


return 0;
}



el borto ha allegato un file: errore.JPG (24813 bytes)
Clicca qui per guardare l'immagine

Ultima modifica effettuata da el borto il 21/07/2009 alle 21:53
PM Quote
Avatar
el borto (Normal User)
Rookie


Messaggi: 47
Iscritto: 19/07/2009

Segnala al moderatore
Postato alle 14:31
Mercoledì, 22/07/2009
niente ho risolto il problema in pratica bastava farlo girare come progetto .cpp invece che .c  :doubt:

PM Quote