Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Socket pb avec send [ Archives / Réseau / Internet ] (edpunisher)

lundi 27 juin 2005 à 20:46:47 | Socket pb avec send

edpunisher

kikoo voici mon code client et server mais bon dieu pourkoi je recois pas le fameux hello world
NB:y as pas d erreur de connexion
    le server est sur unix et le client sous windows
aidez moi pleaaaaaaaaaaaaase
"""""""""""""""""""""server""""""""""""""""""""""""""void main()
{
    struct sockaddr_in soc_in;
    int val,len,f;
    int ss;

    ss=socket(AF_INET,SOCK_STREAM,0);
    val=1;
    setsockopt(ss,SOL_SOCKET,SO_REUSEADDR,&val,sizeof(val));
    soc_in.sin_family=AF_INET;
    soc_in.sin_addr.s_addr=INADDR_ANY;
    soc_in.sin_port=htons(32165);
    bind(ss,((struct sockaddr *)&soc_in),sizeof(soc_in));
    listen(ss,5);
    len=sizeof(soc_in);
    f=accept(ss,(struct sockaddr *)&soc_in,&len);
    if(f==-1)
        {perror("erreur");}
    else
        {printf("very good");}
    send(ss,"Hello world!\r\n", 14,0);
    close(ss);
}




"""""""""""""""""""""""""client""""""""""""""""""""""""""""""
#include<winsock.h>
#include<stdio.h>
#pragma comment(lib, "ws2_32.lib")

void main()
{
    WSADATA WSAData;
    WSAStartup(MAKEWORD(2,0), &WSAData);

    char* buffer=new char[20];
    buffer="";
    SOCKET sc;
    int y;
    struct hostent *sp;
    struct sockaddr_in sins;
    sp=gethostbyname("debian");
    sc=socket(AF_INET,SOCK_STREAM,0);
    if(sc==-1){perror("socket failed");exit(1);}
    sins.sin_family=AF_INET;
    sins.sin_addr.s_addr = inet_addr("192.168.1.1");
//    memcpy(&sins.sin_addr,sp->h_addr_list[0],sp->h_length);
    sins.sin_port=htons(32165);
    y=connect(sc,(sockaddr *)&sins,sizeof(sins));
    if(y==-1)
    {perror("socket failed");exit(1);}
    else{printf("very good");}
    recv(sc,buffer,sizeof(buffer),0);
    printf("kjh");
    printf("%s\n",buffer);
    WSACleanup();

}






lundi 27 juin 2005 à 21:46:33 | Re : Socket pb avec send

cosmobob

salut,
ton serveur envoie le hello world au mauvais socket ...
essaie ca :  
send(f,"Hello world!\r\n", 14,0);

toi tu l'envoyais au socket ss ...


a+


lundi 27 juin 2005 à 23:33:13 | Re : Socket pb avec send

edpunisher

c'etai trop evident pour que je ne la remarque pas
merci bcp je te revauderai ca


lundi 27 juin 2005 à 23:40:51 | Re : Socket pb avec send

edpunisher

un autre prob
je recois hello world²²²²
d ou ils viennet les ²²²² ????


mardi 28 juin 2005 à 00:03:44 | Re : Socket pb avec send

cosmobob

remplace ton recv comme suit:

int r = recv(sc,buffer,sizeof(buffer) - 1,0);
if (r > 0)
    buffer[r] = 0;
else
    // il y a eu une erreur...

en fait,  tu recois les donnees brutes (sans le zero de fin de chaine), ce qui explique que printf te rajoute des caracteres aleatoires.

a+


mardi 28 juin 2005 à 00:08:08 | Re : Socket pb avec send

edpunisher

bravo a toi
t es mon samaritain

mardi 28 juin 2005 à 10:14:45 | Re : Socket pb avec send

cosmobob

ha je retire ce que j'ai dit, pour que ca marche ton buffer doit etre alloué comme suit:
char buffer[20];
et non pas comme tu as fait :
char* buffer=new char[20];

sinon sizeof(buffer) vaut sizeof(char*) c'est à dire 4.




Cette discussion est classé dans : socket, sin, in, ss, soc


Répondre à ce message

Sujets en rapport avec ce message

envoi contenu d'un fichier par socket [ par aymoun11 ] cher amis,je suis entrain de développer un application pour envoi de contenu d'un ficher ou un tableau par socket a un serveur qui les affiche .pour l Socket Requette HTTP Post - Enlever le header de la réponse [ par SuperChouquette ] Bonjour, je suis débutant et à l'aide d'autres sources j'ai créer une fonction pour envoyer une requete POST à un serveur web, celle-ci fonctionne bie Besoin Aide (Client PHP/Serveur C++) [ par qbasic ] slt bien a vous je suis en train de coder un serveur en c++ socket en protocole tcp et un client en php C++LE SERVEUR C++ : #include #includ probleme boucles mutliple avec les sockets [ par miki42 ] Bonjour a tous voila j'ai pa le choix,deja une semaine que je mord la langue pour trouver dou vient mon probleme mais rien y fait suit obliger de fari 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 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 trop lents [ par cid7777777 ] bonjour,jessaye de faire un jeu qui peu se jouera 2 en reseau local.je ne connais absolument rien en reso, mais en fouillant sur le net,  jai trouver Probleme Winsock [ par fredsor ] Salut a vous, Je suis toujours en train de passer une appli de embedded visual c++ (donc pour Windows CE => Pocket Pc) vers DevC++ (windows "normal", WSAAsyncSelect [ par lektrosonic ] Bonsoir,Je code un serveur, voici la partir du code relative aux sockets:---------------------------------------------------------------if(WSAStartup( 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


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.