Salut, j'ai un prog qui utilise des socket et j'ai un petit probleme. Quand j'exécute 2 fonctions Send() d'affilé et que je fais un Close() juste apres, y'a que le premier Send() qui est exécuté (si je supprime le Close(), les 2 Send() sont exécutés).
Exemple:
Dans ce cas, seul le premier Send() est exécuté:
Mais dans ce cas, les deux Send() sont exécutés:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 CString strTemp = "Test"; int nResult = m_ClientSocket.Send(LPCTSTR(strTemp), 1024); strTemp = "test2"; int nSize = strTemp.GetLength(); nResult = m_ClientSocket.Send(LPCTSTR(strTemp), nSize); m_ClientSocket.Close();
Si j'envoie 1024 caractères lors du premier Send() c'est parce que je veux pas lors de la réception que les 2 messages soient transmis dans une seule trame (ca me simplifie bien les choses au niveau de la réception). Je comprend pas d'où vient mon problème. Quelqu'un a déjà eu le meme genre de soucis?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 CString strTemp = "Test"; int nResult = m_ClientSocket.Send(LPCTSTR(strTemp), 1024); strTemp = "test2"; int nSize = strTemp.GetLength(); nResult = m_ClientSocket.Send(LPCTSTR(strTemp), nSize);
Merci à ceux qui pourront m'aider.
PS:le deuxième message à l'air d'être bien envoyé car nResult n'est jamais égal à SOCKET_ERROR mais je recois jamais le message si je fais le Close().
Partager