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 : [C++][SOCKET]Probleme envoi [ Windows / Réseau & Internet ] (raton)

vendredi 7 juillet 2006 à 10:47:06 | [C++][SOCKET]Probleme envoi

raton

Salut à tous.

Voila je suis en train de dev une petite dll en C++ utilisant des SOCKET. En réception, pas de problème, mais en envoi... Pas moyen.

Lorsque je fais mon send, il ne se passe strictement rien. Par contre, lorsque je ferme mon socket, le server sur lequel je suis sensé envoyé recoit bien une partie des messages mélangés les uns aux autres.

Voici ma classe :


Code :

class COMSERVER_API CComServer {
private :
WSADATA WSAData;
SOCKET sock;
SOCKADDR_IN sin;
char* buffer;
ETAT_CONNEXION m_Etat;
int m_nEssai;
public:
CComServer(LPCSTR p_IP);
~CComServer();

void SetStream (LPCSTR p_string);
char* GetStream();

bool TryXConnection(int p_nEssai);
void Deconnection();

bool Attach();
void Detach();

};

Ma connexion :


Code :

//___________________________________________________________________
//Constructeur et connexion au server
CComServer::CComServer(LPCSTR p_IP)
{
m_nEssai = 3;
//Je suis OFFLINE pour l'instant
m_Etat = OFFLINE;
buffer = new char[65525];
//Initialisation du buffer et du socket
WSAStartup(MAKEWORD(2,0), &WSAData);
sin.sin_addr.s_addr= inet_addr(p_IP);
sin.sin_family=AF_INET;
sin.sin_port=htons(13023);
sock = socket(AF_INET,SOCK_STREAM,0);
//Liaison du socket
m_Etat = CHARGE;
//Tentative de connexion
TryXConnection(m_nEssai);

return;
}

Je vois passe ma fonction TryXConnection qui me permet d'essayer de me connecter à plusieurs reprises puisque sur la connexion je n'ai aucun probleme. En résumé elle fait le bind et le connec.

Viens ensuite ma fonction d'envoi


Code :

void CComServer::SetStream(LPCSTR p_string)
{
send(sock,p_string, sizeof (p_string),0);
int ntmp = WSAGetLastError();
}

J'ai rajouté le WSAGetLastError pour vérifier et j'ai toujours 0.

Dans mon code je fais un SetStream avec "PING" et ensuite je me déco. Sur le SetStream() mon serveur ne recoit rien mais lorsque je me deco (closesocket), alors il recoit un mélange de mon ping et de mon message de deco...

Si quelqu'un a une idée... Je suis prenneur.

Merci d'avance

Mess with the best
Die Like the rest

vendredi 7 juillet 2006 à 17:07:41 | Re : [C++][SOCKET]Probleme envoi

aardman

Membre Club
Salut,
sizeof(p_string) ne renvoies pas la taille de la chaine, mais la taille de la variable p_string, qui est un pointeur.
Remplace sizeof(p_string) par strlen(p_string) dans ton send.



Cette discussion est classé dans : etat, socket, sin, sock, ccomserver


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) Probleme sockets de mer** [ par zzzzzz ] bé je suis plus quoi faire j'en suis toujours au meme prob y'en a 1 qui me dit d'utiliser strstr() l'autre strcmp() fin bref ca serrais sympas si quel 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 LERREUR QUI TUE §§§§§§§§§§§§§§§§ [ par Avalon10101 ] Vla jai fé mon prog tout é juste mais ya une erreur que je narrive vraiment pas à comprendre ! :C:\Documents and Settings\Alex\Mes documents\Makefile. [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 prob sock [ par epoc ] voilà, g commencé la prog des socks en vc++, mais rien ne transitte alors que la connexion semble être bien effectuée, voilà le code :**************** pb socket [ par surfeurnet ] voici mon programme qui a pour l'instant pour unique but de se connecter à un serveur :# include # include # pragma comment (lib,"w32_32.lib")char ip, erreur 10038 [ par made_in_france ] Hello ! j'ai un probleme avec la fonction bind de mon programme. En effet cette fonction me renvois l'erreur 10038 « attempted ». Est ce que quelqu'un Erreur 10049 sur socket UDP [ par Ezekiel69 ] Salut tous le monde...Me voici depuis plusieurs jour confronté un a problème étrange.Je veux envoyer un message par l'intermédiaire d'un packet UDP su


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,577 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é.