2011-05-25 5 views
1

j'ai trouvé plein de guides pour aider mon processus dans la programmation socket, mais je suis très nouveau à C et lorsque je tente d'exécuter le programme, il a des erreurs avecErreur y compris les bibliothèques socket en C

#include <sys/socket.h> 
#include <netinet/in.h> 

Pourquoi est-ce? J'utilise Eclipse pour le faire. il ne compilera pas et dit "des erreurs existent dans ce projet, voulez-vous continuer"

Et souligne ces deux lignes, il est évident qu'il n'a pas ces fichiers à inclure .. aucune idée de la façon de les trier ..

guide: http://beej.us/guide/bgnet/output/html/multipage/clientserver.html#datagram

EDIT: le codage sur une boîte de Wnidows, mais il devra travailler/fonctionner sur Windows boîtes et différentes saveurs de linux

+0

Quelle plateforme? En outre, les includes sont typiquement comme ceci: '#include ' – birryree

+1

Les downvotes sont un peu durs ici je pense. – Nick

+0

http://www.linuxhowtos.org/C_C++/socket.htm est le tutoriel – odtf

Répondre

2

Vous devez inclure « » ou <> autour de la inclure des fichiers. Vous avez également besoin d'un symbole #.

Par exemple:

#include <sys/socket.h>  
#include <netinet/in.h> 
+0

ouais ils sont comme ça - j'avais une mare avec l'éditeur – odtf

+0

@odtf - dans ce cas, quelles erreurs obtenez-vous? – birryree

+0

Cliquez sur le bouton "modifier" ci-dessous votre question et apportez les modifications. En outre, il serait utile d'ajouter ce que les messages d'erreur sont afin que nous puissions vous aider. – Nick

0

Ces fichiers d'en-tête sont disponibles sur les systèmes d'exploitation comme FreeBSD unixy, Mac OSX et Linux. Puisque vous utilisez Windows en ce moment, vous devrez utiliser winsock, qui est l'implémentation propre à Windows de l'API BSD sockets et qui a des en-têtes différents et des noms de fonctions légèrement différents.

Ceci est détaillé dans une section du guide de Beej: http://beej.us/guide/bgnet/output/html/singlepage/bgnet.html#windows

Il mentionne également l'installation de Cygwin qui vous permettra d'utiliser les en-têtes que vous utilisez en ce moment, mais je ne sais pas si ce serait une option pour toi.

Questions connexes