begin process at 2010 02 10 08:02:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

sockets


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

sockets

jeudi 6 avril 2006 à 14:22:30 | sockets

deck_bsd

Membre Club
Bonjour a tous,


Voila je me suis mis récement au socket et j'ai coder un client et un serveur. Tout bête le client envoie un message ( "hello you" ) au serveur qui doit l'afficher. Seulement voila, le serveur recoit bien le message a chaque fois qu'il est transmit, mais m'affiche des caractères qui n'ont rien à voir avec le message envoyé. un peut comme si il affichait une zone mémoire quel quonque. Voici les 2 codes :

client :

    WSADATA wsaData;
    SOCKET sock1;
    SOCKADDR_IN sin;

    WSAStartup(MAKEWORD(2,0),&wsaData);
    sin.sin_addr.s_addr = inet_addr("127.0.0.1");
    sin.sin_family = AF_INET;
    sin.sin_port = htons(23); /* port telnet */

    sock1 = socket(AF_INET,SOCK_STREAM,0);
    bind(sock1,(SOCKADDR*)&sin,sizeof(sin));

    getch();
    connect(sock1,(SOCKADDR*)&sin,sizeof(sin));
        send(sock1,"hello you",11,0);
  
    closesocket(sock1);
    WSACleanup();



serveur :
  
  
  
    WSADATA wsaData;
    SOCKET sock1;
    SOCKET csock;
    SOCKADDR_IN sin;
    SOCKADDR_IN csin;
    char szBuffer[11];
    int iSizeSin;

    WSAStartup(MAKEWORD(2,0),&wsaData);
    sin.sin_addr.s_addr = INADDR_ANY;
    sin.sin_family = AF_INET;
    sin.sin_port = htons(23); /* port telnet. */

    sock1 = socket(AF_INET,SOCK_STREAM,0);
    bind(sock1,(SOCKADDR*)&sin,sizeof(sin));
    listen(sock1,0);
    for(;;){
        iSizeSin = sizeof(csin);
        if(csock = accept(sock1,(SOCKADDR*)&csin,&iSizeSin) != INVALID_SOCKET){
            recv(csock,szBuffer,sizeof(szBuffer),0);
            printf("\nMessage : <%s>",szBuffer);
            getch();
        }
    }

Quelqu'un peut il m'aider svp?


jeudi 6 avril 2006 à 14:45:06 | Re : sockets

SAKingdom

Membre Club
int ret = recv(csock,szBuffer,sizeof(szBuffer),0);
szBuffer[ret] = 0;

___________________________________________
Les plus grands esprits trouvent toujours une solution

jeudi 6 avril 2006 à 15:04:09 | Re : sockets

SAKingdom

Membre Club
Ou sinon, vide ton szBuffer. memset(szBuffer, 0, sizeof(szBuffer))

___________________________________________
Les plus grands esprits trouvent toujours une solution

jeudi 6 avril 2006 à 15:17:50 | Re : sockets

Joky

Membre Club
Ca n'avait pourtant rien à voir avec les sockets :(

if(!Meilleur("Joky")) return ERREUR;<

jeudi 6 avril 2006 à 15:21:13 | Re : sockets

SAKingdom

Membre Club
Ha ben on peut pas sasvoir quand l'erreure arrive ;)

___________________________________________
Les plus grands esprits trouvent toujours une solution

jeudi 6 avril 2006 à 15:22:44 | Re : sockets

Joky

Membre Club
Ben généralement quand on voit des caractères bizarres à la fin d'une chaîne qu'on maîtrise bien on se doit bien se douter qu'il manque un 0 final...

if(!Meilleur("Joky")) return ERREUR;<

jeudi 6 avril 2006 à 15:30:41 | Re : sockets

deck_bsd

Membre Club
ouaip ... sauf que ca ne marche pas :D
jeudi 6 avril 2006 à 15:33:18 | Re : sockets

deck_bsd

Membre Club
je me serai douté qu'il fallait ajouter un zero final si au moin il mettant la phrase envoyée dans szBuffer mais rien, il n'y a aucune trace de celle-ci , d'ou c'est pas le 0 final qui pose problème.
jeudi 6 avril 2006 à 15:36:01 | Re : sockets

SAKingdom

Membre Club
A tu essayer de vider szBuffer avant son utilisation?

___________________________________________
Les plus grands esprits trouvent toujours une solution

jeudi 6 avril 2006 à 15:41:02 | Re : sockets

deck_bsd

Membre Club
oui j'ai tous esseye, je suis persudé que cela vien du socket. car en faite rien arrive dans szBuffer. quand je le vide avant et ben il m'affiche plus rien d'ou je suis certain que mon message n'arrive pas a destination met que la connection s'opère bien.

1 2

Cette discussion est classée dans : socket, sin, sockaddr, wsadata, sock1


Répondre à ce message

Sujets en rapport avec ce message

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) 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 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 Socket Server/Client [ par XKaliBur ] Je suis débutant et je voudrais faire en sorte d'envoyer un message au mon serveur et des que ce dernier reçoit un message, il réponde en fonction de probleme de communication entre deux programme [ par smook ] re salut le dernier message que j ai poster c etait pour les socket et la librairie "libwsock.a" mais sayer j ai passer cette etape j ai reussi a fair socket envoie de text d'apres un fichier [ par hijakhakker ] salutj'utilise recement les socket et je teste une source qui utilise les socket pour envoyer hello world a qui se connect :#include #pragma comment(l probleme de serveur multi-client [ par Mick7 ] je m'explique je suis arrivé a creer un serveur qui peut accepter 2 client mais le probleme est que si j'essaye de creer les 2 sockets sur le meme por Probleme de Client Serveur [ par Krox68 ] voila jaimerais faire un programme client qui puisse se connecter a ce serveur : #include void main(){ WSADATA WSAData; WSAStartup(MAKEWORD(2,0), &WS [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 Socket, quand tu nous tiens ... [ 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


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

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

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