begin process at 2012 05 30 17:24:37
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Réseau / Internet

 > 

Socket, quand tu nous tiens ...


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

Socket, quand tu nous tiens ...

samedi 23 août 2003 à 23:51:26 | Socket, quand tu nous tiens ...

enthaz


Allez J me lance : ca fait des heures et des heures ke le newb ke je suischerche la solution :
D un coté j ai un logiciel client ki envoie "coucou" sur le port d une machine sur un port determiné.
D un autre coté un serveur qui ecoute sur le mm port en tente ( desesperement d afficher ce k il recoit.
Or il affiche n importe koi ac en plus -1 pr le resultat de recv().
Je c ke ce prob en revenu svt sur le forum mais apres des recherches je n ai pas trouV de solutions convaincante. Votre solution servira dc d autres codeurs. Merci d avance pr vos reponses, je vs donne les codes sources :

---------------------------------------------------------------------- Partie serveur
----------------------------------------------------------------------

#include "stdafx.h"
#include <stdlib.h>
#include <iostream.h>
#include <winsock2.h>

#pragma comment(lib, "ws2_32.lib")


int main(int argc, char* argv[])
{



WSADATA WSAData;
WSAStartup(MAKEWORD(2,0), &WSAData);
SOCKET sock;
SOCKADDR_IN sin;


char buffer[64]; /* le buffer */

sock = socket(AF_INET, SOCK_STREAM, 0); /* le sock */
sin.sin_addr.s_addr= INADDR_ANY;
sin.sin_family= AF_INET;
sin.sin_port= htons(1105);
if(bind(sock, (SOCKADDR *)&sin, sizeof(sin)) == -1)

{
cout<<"erreur du bind"; /* erreur */
}
if(listen(sock, 0) == -1)
{
cout<<"erreur du listen"; /* erreur */
}

int sinsize = sizeof(sin);


if(accept(sock, (SOCKADDR *)&sin, &sinsize) == -1)
{
cout << "erreur du accept";
}
int fd;
fd = recv(sock, buffer, sizeof(buffer), 0); /* dc la je recoit*/


cout<<"\n"<<buffer<<"\n"; /* et la j affiche*/
cout<<fd<<"\n";


return 0;
}


---------------------------------------------------------------------
Parite Client
---------------------------------------------------------------------

#include "stdafx.h"
#include <iostream.h>
#include <winsock2.h>

#pragma comment(lib, "ws2_32.lib")


int main(int argc, char* argv[])
{


WSADATA WSAData;
WSAStartup(MAKEWORD(2,0), &WSAData);
SOCKET sock;
SOCKADDR_IN sin;


/* Tout est configuré pour se connecter sur IRC, haarlem, Undernet. */
sock = socket(AF_INET, SOCK_STREAM, 0);
sin.sin_addr.s_addr= inet_addr("IP à modifier");
sin.sin_family= AF_INET;
sin.sin_port= htons(1105);
if(connect(sock, (SOCKADDR *)&sin, sizeof(sin)) == -1)
{
cout << "erreur du connect "; /* erreur */
}
if(send(sock, "coucou", 6, 0) == -1) /* on envoie */
{
cout << "erreur du send"; /* erreur */
}

closesocket(sock);
WSACleanup(); /* on ferme tt ca */

int i;
cin>>i; /* pr avoir le tps de lire les erreurs */

return 0;
}

---------------------------------------------------------------------

Bon ben voila
Merci pr votre aide.
A bientot !



dimanche 24 août 2003 à 15:43:59 | Re : Socket, quand tu nous tiens ...

aardman

Membre Club
Salut,
L'erreur est au niveau du accept(...)
Regarde ma reponse dans l'autre discution j'explique le prob.



-------------------------------
Réponse au message :
-------------------------------

>
> Allez J me lance : ca fait des heures et des heures ke le newb ke je suischerche la solution :
> D un coté j ai un logiciel client ki envoie "coucou" sur le port d une machine sur un port determiné.
> D un autre coté un serveur qui ecoute sur le mm port en tente ( desesperement d afficher ce k il recoit.
> Or il affiche n importe koi ac en plus -1 pr le resultat de recv().
> Je c ke ce prob en revenu svt sur le forum mais apres des recherches je n ai pas trouV de solutions convaincante. Votre solution servira dc d autres codeurs. Merci d avance pr vos reponses, je vs donne les codes sources :
>
> ---------------------------------------------------------------------- Partie serveur
> ----------------------------------------------------------------------
>
> #include "stdafx.h"
> #include <stdlib.h>
> #include <iostream.h>
> #include <winsock2.h>
>
> #pragma comment(lib, "ws2_32.lib")
>
>
> int main(int argc, char* argv[])
> {
>
>
>
> WSADATA WSAData;
> WSAStartup(MAKEWORD(2,0), &WSAData);
> SOCKET sock;
> SOCKADDR_IN sin;
>
>
> char buffer[64]; /* le buffer */
>
> sock = socket(AF_INET, SOCK_STREAM, 0); /* le sock */
> sin.sin_addr.s_addr= INADDR_ANY;
> sin.sin_family= AF_INET;
> sin.sin_port= htons(1105);
> if(bind(sock, (SOCKADDR *)&sin, sizeof(sin)) == -1)
>
> {
> cout<<"erreur du bind"; /* erreur */
> }
> if(listen(sock, 0) == -1)
> {
> cout<<"erreur du listen"; /* erreur */
> }
>
> int sinsize = sizeof(sin);
>
>
> if(accept(sock, (SOCKADDR *)&sin, &sinsize) == -1)
> {
> cout << "erreur du accept";
> }
> int fd;
> fd = recv(sock, buffer, sizeof(buffer), 0); /* dc la je recoit*/
>
>
> cout<<"\n"<<buffer<<"\n"; /* et la j affiche*/
> cout<<fd<<"\n";
>
>
> return 0;
> }
>
>
> ---------------------------------------------------------------------
> Parite Client
> ---------------------------------------------------------------------
>
> #include "stdafx.h"
> #include <iostream.h>
> #include <winsock2.h>
>
> #pragma comment(lib, "ws2_32.lib")
>
>
> int main(int argc, char* argv[])
> {
>
>
> WSADATA WSAData;
> WSAStartup(MAKEWORD(2,0), &WSAData);
> SOCKET sock;
> SOCKADDR_IN sin;
>
>
> /* Tout est configuré pour se connecter sur IRC, haarlem, Undernet. */
> sock = socket(AF_INET, SOCK_STREAM, 0);
> sin.sin_addr.s_addr= inet_addr("IP à modifier");
> sin.sin_family= AF_INET;
> sin.sin_port= htons(1105);
> if(connect(sock, (SOCKADDR *)&sin, sizeof(sin)) == -1)
> {
> cout << "erreur du connect "; /* erreur */
> }
> if(send(sock, "coucou", 6, 0) == -1) /* on envoie */
> {
> cout << "erreur du send"; /* erreur */
> }
>
> closesocket(sock);
> WSACleanup(); /* on ferme tt ca */
>
> int i;
> cin>>i; /* pr avoir le tps de lire les erreurs */
>
> return 0;
> }
>
> ---------------------------------------------------------------------
>
> Bon ben voila
> Merci pr votre aide.
> A bientot !
>
>
>
>


Cette discussion est classée dans : port, socket, sin, sock, wsadata


Répondre à ce message

Sujets en rapport avec ce message

[SOCKET]Tjrs le pb de recuperation du buffer recv() [ par enthaz ] Allez J me lance : ca fait des heures et des heures ke le newb ke je suischerche la solution :D un coté j ai un logiciel client ki envoie "coucou" sur PROB SOCKETS CON [ par zzzzzz ] le code source marche mais quand je rajoute un cout#include #pragma comment(lib,"ws2_32.lib")#include int main(void) utilisation basique de winsock [ par Spiffou ] bonjour à tousj'essaie d'apprendre winsock en vc++ mode console pour le moment, et j'ai qlq difficultés...en gros j'etabli bien une connection entre l Liaison client/serveur (socket) [ par bthivent ] Bonjour !J'ai suivi un tutorial pour apprendre les sockets. J'ai ensuite essaiyé un exemple qu'ils proposaient, voici mon code qui permet de faire un [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 winsock 2 listen [ par lektrosonic ] Bonjour, ceci est mon bou de code, je veu mette le socket en mode listen, mais de ke je le fait, ca plante...ce bout de code est sous win32 et la fene probleme de send en C avec socket [ par thorn74 ] bonjour je suis actuellement en IUT info et G un  projet a faire mais je bloque je doit fair eun petit programme ou lorsqu'un ordinateur se connecte a les socket [ par ben83510 ] Bonjour, Je me suis lancer dans le tutoriel sur les socket. J arrive a effectuer la connexion lorsque j execute le serveur et le client sur mon pc.Ma erreur bind: Address already in use [ par andoid ] Bonjour j'ai mon programme suivant qui marche et je suis en route pour creer mon serveur pour l'instant le client qui se connecte je lui envoi juste l communication serveur c et client java [ par andoid ] Bonjour Je voulais savoir commment on peut faire communiquer un serveur C et un cleint java avec les sockets voici juste un petit serveur qui dit bonj


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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,281 sec (3)

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