Aide sur les Socket [C] - C++ - Programmation
Marsh Posté le 14-06-2003 à 20:22:19
TheTooN a écrit : Bonsoir, |
Marsh Posté le 14-06-2003 à 20:23:38
création d'un socket :
socket(PF_INET,SOCK_STREAM,0);
Marsh Posté le 14-06-2003 à 20:29:44
quand je compile ca :
#include <winsock2.h>
main(){
socket(PF_INET,SOCK_STREAM,0);
}
normalement ca devrais marcher (meme si ca sert à rien tout seul oui je sais) mais mon compilo me met une erreur :
[Linker error]undefined reference to 'socket@12'
Marsh Posté le 14-06-2003 à 20:36:42
compiles tu en linkant ton projet avec la lib winsock ?
et sous windows, tu dois initialiser winsock en faisant un WSAStartup avant toute opération avec les sockets
Marsh Posté le 14-06-2003 à 20:42:15
#include <winsock2.h>
main(){
WSAStartup(MAKEWORD(2,0), &WSAData);
socket(PF_INET,SOCK_STREAM,0);
}
kan je fais ca, mon compilo me met une erreur sur le wsastartup.
en fait voila pourkoi j 'aurais aimé avoir un exemple, parce que la on y va à tatons alors qu'avec un exemple, j'aurais pu voir d'un coup le bon code.
Marsh Posté le 14-06-2003 à 20:46:22
merci de préciser dans le titre ton OS pour ce genre de topic
Marsh Posté le 14-06-2003 à 20:48:17
desolé :
OS : win2k
environement de dev/compilo : dev-c++
Marsh Posté le 14-06-2003 à 22:16:45
cherche toi de la doc. t'as meme pas commencé à etudier le problème
Marsh Posté le 14-06-2003 à 22:21:07
++Taz a écrit : cherche toi de la doc. t'as meme pas commencé à etudier le problème |
+1
les sockets n'ont rien de compliqué, encore faut il savoir de quoi l'on parle...
Marsh Posté le 14-06-2003 à 23:14:21
#include <winsock2.h>
#pragma comment(lib, "ws2_32.lib" ) // je c pas si ca fonctionne sur dev-c++
main(){
WSADATA WSAData;
WSAStartup(MAKEWORD(2,0), &WSAData);
socket(PF_INET,SOCK_STREAM,0);
}
Marsh Posté le 14-06-2003 à 23:40:40
BlackGoddess je t'aime ;-)
J'ai cependant 2 erreurs :
[Linker error] undefined reference to 'wsastartup@8'
[Linker error] undefined reference to 'socket@12'
Je v kan meme chercher l'erreur car grace à toi, j'ai un point de départ à ce travail.
merci d'avance su tu sais ou ca cloche.
Marsh Posté le 15-06-2003 à 00:28:26
visiblement, #pragma comment(lib, "ws2_32.lib" ) n'a pas fonctionner, ajoute ws2_32.lib dans la liste des lib de l'editeur de liens (linker)
Marsh Posté le 15-06-2003 à 10:23:20
en fait je viens de d/l la demo du builder de borland en attendant de trouver mieux et c good.
d'ailleurs si tu en connais un gratos ...
encore merci bcp.
Marsh Posté le 15-06-2003 à 11:28:31
non mais ca doit passer avec devc++, il faut juste que tu le mette dans les lib
Marsh Posté le 16-06-2003 à 07:58:29
LE tutorial de base sur la programmation avec sockets:
http://www.ecst.csuchico.edu/~beej/guide/net/html/
par contre c'est sous unix/linux. Mais les principes restent les mêmes pour win32.
Marsh Posté le 16-06-2003 à 10:02:06
sowhatin22 a écrit : LE tutorial de base sur la programmation avec sockets: |
C'est clait, les SOCKET en Berkeley (ceux d'Unix à la base) permettent de faire tout, même de l'asynchrone/non bloquant quand on s'y prend bien. La preuve, je viens de faire tout un serveur SMTP basé uniquement là dessus (100% pur SOCKET, même pas de CSocket)
Marsh Posté le 14-06-2003 à 20:17:57
Bonsoir,
je suis en train d'apprendre la prog des sockets en C, le probleme est que voila une semaine que je trouve des tas de docs mais je dois etre un peu bebete (merci de ne pas me citer en metant en gras cette derniere réplique) parce que j'ai énormément de mal à comprendre la pratique (parce que la théorie c'est OK).
Y aurait il kk1 de sympa qui voudrait bien m'écrire une ouverture de socket sans test d'erreur, juste pour voir la synthaxe minimum ? je ne cherche pas à ce qu il y ait ds ce code la fonction send(), c juste l'ouverture d'un socket. et je ne cherche que le code pour un client.
bon et bien merci quand meme à ceux qui ne répondront pas de m'avoir lu.