begin process at 2010 03 14 08:39:39
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Réseau / Internet

 > 

Création d'une socket ..


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Création d'une socket ..

dimanche 29 février 2004 à 19:57:51 | Création d'une socket ..

bubbless


Bonjour !

à l'aide !! J'ai programmé tout un systèle réseau / client, que j'ai enfin pu tester grâce à l'aide d'une âme charitable sur ce forum, et je me retrouve maintenant avec un gros problème, de base pourtant : mon serveur ne veut pas créer de socket ! Il s'agit pourtant d'une simple fonction de base, mais, il me met -1, et pourtant "NO error " dans la variable perno ?? Que puis-je faire ?? Je programme sous visual c++, et voici les include que j'ai mis, ainsi que l'appel à la socket :

#include <string.h>
#include <stdio.h>
#include <stdlib.h>

#include <winsock2.h>
#include <sys\types.h>
#pragma comment(lib, "ws2_32.lib")
/* Port d'écoute du serveur */
#define PORT 3490

my_addr.sin_family = AF_INET;
my_addr.sin_port = htons(PORT); my_addr.sin_addr.s_addr = INADDR_ANY;
memset(&(my_addr.sin_zero), '\0', 8);

printf("%s",INADDR_ANY);
if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
{
printf("%d \n",sockfd);
perror("socket");
exit(1);
}

Quelqu'un peutil m'aider ?? Parce que là j'avoue que je suis plutôt désesperé: je n'ai pas la moindre idée de la solution ! J'ai essayé sur 2 ordinateurs, sans résultat, et j'ai également épluché pas mal de codes de serveur sans mieux comprendre ..; Au lancement, je rappelle , il m'indique donc :

-1
socket : no error

Merci d'avance de votre aide !!

dimanche 29 février 2004 à 20:41:20 | Re : Création d'une socket ..

aardman

Membre Club
Salut,
ok 3 choses:

1) sous windows, utilise WSAGetLastError() plutot que perror, c'est bcp mieux.

2) Pour utiliser les sockets, il faut initialiser la winsock avant, ca marche mieux. Si tu avait utilisé WSAGetLastError(), il t'aurai retourné une erreur signalant que tu avais oublié d'initialiser winsock. Alors que perror lui ...
Voir du coté de WSAStartup(...) et WSACleanup(...).

3) la ligne printf("%s",INADDR_ANY);
INADDR_ANY est defini dans winsock2.h à 0, cela revient a écrire:
printf("%s", 0);
ce qui est une tres mauvaise idée.
dimanche 29 février 2004 à 23:00:44 | Re : Création d'une socket ..

cosmobob

ué t'as ton erreur skeu tas oublié de faire:
WSADATA WSAData;
WSAStartup(MAKEWORD(2,0), &WSAData);
fo faire ca avant d'utiliser les sockets sinon voila ce qui arrive...
jeudi 4 mars 2004 à 15:02:23 | Re : Création d'une socket ..

kawito


salut,

et si tu met :


my_addr.sin_addr.s_addr = htonl(INADDR_ANY);

kawito
jeudi 4 mars 2004 à 15:07:12 | Re : Création d'une socket ..

aardman

Membre Club
Salut,
htonl(...) sert a inverser l'ordre des bytes mais INADDR_ANY est égal a zero donc htonl(INADDR_ANY) est aussi égal a zero, cela ne change rien.


Cette discussion est classée dans : port, include, socket, my, addr


Répondre à ce message

Sujets en rapport avec ce message

Chat en C sous Linux [ par slobberbone ] Bonjour à tous et bonne Année 2005 ! Voilà j'ai un projet à faire, il consiste à faire une messagerie instantanée ( Client & Serveur ) J'arrive à fai [C] Scanner de port utilise socket version linux [ par firemax ] Salut :) J'ai une erreur de segmentation et je n'est pas la moindre idée d'ou ca peut venir :( Je n'est aucun warning lors de la compilation mais l CreateProces et fork [ par laetitiavincent ] Bonjour tout le mondeAlors je sais que fork n'existe pas sous windows. On peut utiliser CreateProcess mais mon souci et que je mélange ca avec un sock Socket sur WAN [ par galmone ] Bonjour,Voila mon probleme, j'ai une application client et une server, les 2 communiquent a merveille sur la loopback adresse (127.0.0.1-255), en LAN envoie des données sur le port parallèle [ par popossi ] salut à tous,je suis élève  ingénieur en génie élèctrique je veux réaliser un mini projet qui concerne à écrire un programme en C qui génère 5 nombres socket raw [ par moi zork ] Bonjour,Je suis entrain de m'entrainer sur les socket raw et je bute sur :#include #include using namespace std;int main (void){    int sock;  sock = desactiver l'echo sur une liaison RS232 [ par yooyoo78450 ] Bonjour, j'aurais voulu savoir comment désactiver l'echo sur une liaison série en port com, voila un bout de mon programme où sont decrites les optio programmation socket [ par samijaba ] je suis entraint de dévélopper une application réseaux (client/serveur)mon probléme est que lorsque j'essai de connecter hors de réseau local il n'y a socket en C++ [ par rimbaw ] Salut à tous!!-- J'ai fait un petit serveur en C++; tout marche bien mais lorsque le port que j'ecoute est deja occupé, mon application ferme simpleme


Nos sponsors


Appels d'offres

Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,328 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales