Amigo he estado haciendo pruebas con la api que comentas pero claro, tu usas un tipo SOCKET y yo intento hacer lo mismo con un TSocketServer y un TSocketClient y la verdad es que todo lo que pruebo acaba retornandome false en TransmitFile. He probado esto:
Código PHP:
bool transmitido;
if(IsServer){
transmitido = TransmitFile((unsigned int)ServerSocket->Socket->Connections[0]->Handle, (HANDLE)hFile, tamanio, 0,0,0,0);
}else{
transmitido = TransmitFile((unsigned int)ClientSocket->Socket->Handle, (HANDLE)hFile, tamanio, 0,0,0,0);
}
y esto:
Código PHP:
bool transmitido;
if(IsServer){
transmitido = TransmitFile((unsigned int)ServerSocket->Socket->Handle, (HANDLE)hFile, tamanio, 0,0,0,0);
}else{
transmitido = TransmitFile((unsigned int)ClientSocket->Socket->Handle, (HANDLE)hFile, tamanio, 0,0,0,0);
}
y tambien esto:
Código PHP:
bool transmitido;
if(IsServer){
transmitido = TransmitFile((unsigned int)ServerSocket->Handle, (HANDLE)hFile, tamanio, 0,0,0,0);
}else{
transmitido = TransmitFile((unsigned int)ClientSocket->Handle, (HANDLE)hFile, tamanio, 0,0,0,0);
}
y en todos los casos retorna como false y en el receptor no hay señales de que se reciba algo. Son asincronicos y no se si esto tiene que ver.