te faltan muchas cositas...
* El buffer de recivo/envio de datos te lo determina el S.O. se otiene de esta manera:
Te lo pongo todo en C... sorry aun asu lo puedes traducir muy facil mente.
int uiSize = sizeof(unsigned);
// Obtenemos los buffers del Sistema Operativo, tanto de Envio como de Recepción de datos.
if (::getsockopt(this->mySock, SOL_SOCKET, SO_RCVBUF, (char*)&this->uiBuffRcv, &uiSize) == SOCKET_ERROR ||
::getsockopt(this->mySock, SOL_SOCKET, SO_SNDBUF, (char*)&this->uiBuffSnd, &uiSize) == SOCKET_ERROR)
{
closesocket(this->mySock);
//Error...
}
* No envies de golpe TODOS los datos con send... manda lX cantidad segun el buffer determinado...
Un poquito mas de codigo... igual esa clase que publique no esta terminada (si pero no la libere)...
http://foro.elhacker.net/programacion_cc/problemas_con_sockets-t347735.0.html;msg1696091#msg1696091Dulces Lunas!¡.