Windows Socket de Programmation en C

Je suis prise d'un réseau de classe où le Professeur est littéralement en train de lire le livre à la classe. Inutile de dire que je n'ai aucune Idée de ce que je suis en train de faire. Notre semestre projet est de copier le code de notre livre de texte et de faire un client-serveur réseau. Littéralement recopiant le code de teh livre sans modifications.

Le livre a eu des erreurs dans le code (il manque un point-virgule, extra paranthesis) mais j'ai réussi à au moins compiler le code. Cependant, je rencontre un tas d'erreurs de liaison.

Exemple:
Erreur 1 erreur LNK2019: symbole externe non résolu impsendto@24 référencé dans la fonction _main C:\Users\Documents\Visual Studio 2010\Projects\Client_Server\Client_Server\Client_Server\Server.obj Client_Server

j'ai regardé le code d'erreur et je pense que le code est en essayant de lier à des définitions qui ne sont pas inexistants dans les fichiers d'en-tête. J'ai une dure de temps à corriger les erreurs LNK vs les erreurs de Syntaxe. Mais comme je l'ai dit je n'ai aucune idée de la façon d'aller sur la fixation de ce. Je vous envoie le code pour le côté serveur, j'ai couru dans les mêmes erreurs sur le côté client.

include <stdio.h>
include <string.h>
include <WinSock2.h>
include <WinSock.h>
include <stdint.h>
include <time.h>

int main(void) {

int s;      
int len;
char  buffer[256];  
struct sockaddr_in servAddr; 
struct sockaddr_in clntAddr; 

int clntAddrLen; //length of client socket addre

//Build local (server) socket add

memset(&servAddr, 0, sizeof(servAddr));
servAddr.sin_family = AF_INET;
servAddr.sin_port = htons(21);
servAddr.sin_addr.s_addr = htonl(INADDR_ANY);

   //create socket
if((s=socket(PF_INET, SOCK_DGRAM, 0) <0 ))
{
   perror("Error: Socket Failed!");
    exit(1);
}

//bind socket to local address and port
if((bind(s,(struct sockaddr*)&servAddr, sizeof(servAddr))<0))
{
    perror("Error:bind failed!");
    exit(1);
}

for(;;)
{
len = recvfrom(s,buffer, sizeof(buffer),0,(struct sockaddr*)&clntAddr, &clntAddrLen);

    //send string
    sendto(s, buffer, len, 0, (struct sockaddr*)&clntAddr, sizeof(clntAddr));
}

}

Des conseils, des liens vers des informations utiles ou des conseils seraient appréciés. J'ai essayé de lire le livre de texte, mais je suis complètement perdu. Aussi, c'est le seul code concernant la cession nous avons fait tout le semestre. Tout le reste a été la collecte de paquets à l'aide d'un renifleur de paquets. Littéralement entré dans la classe et dit copier et exécuter du code sur la page X.

OriginalL'auteur networkingNoob | 2011-07-21