begin process at 2010 02 10 14:56:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Réseau & Internet

 > 

[C++][SOCKET]Probleme envoi


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

[C++][SOCKET]Probleme envoi

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ée 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...

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,468 sec (4)

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