WSASocket Probleme reception
Bonsoir a tous,
j'ai quelque problème d'envoi / réception de structure par socket.
struct SocketStruct
{
char _type;
char _buffer[1024];
unsigned int _send;
};
En fait ca plante lors de transfert de fichier, a un moment dans unsigned int on a une valeur de l'ordre de 10^5 (je fait un new char[] sur cette valeur du coup segfault bien entendu).
ca arrive rarement en local (souvent a distance !)
voila ma fonction de réception :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| void SocketTcpServer::Receive(void *Data, unsigned int Size)
{
int ret;
DWORD dwBytesRet, dwFlags;
WSABUF wbuf;
wbuf.len = Size;
wbuf.buf = (char *)Data;
dwFlags = 0;
ret = WSARecv(this->_socket, &wbuf, 1, &dwBytesRet, &dwFlags, NULL, NULL);
if (ret == 0)
return ;
throw Exception("SocketTcpSever", "Error WSARecv");
} |
Merci d'avance.
Cordialement,
NeoKript