¿Por qué no podemos usar puertos USB para la transferencia de datos entre pares entre dos computadoras?

USB está muy fuertemente definido como una interfaz maestro / esclavo. Los diseñadores de USB querían poner tanta inteligencia en la parte superior de la computadora cara, inteligente y de uso general, y hacer que los dispositivos sean lo más tontos posible. Los dispositivos solo pueden hablar cuando se les habla. El maestro siempre impulsa las señales de salida, por lo que si conecta dos maestros juntos, se conducirán uno contra el otro. Y tratan de decir qué dispositivo conducirá la señal de entrada, y el otro maestro no querrá hacerlo.

Los desarrolladores de USB no han querido comprometer la simplicidad de tener un enchufe que se conecta a un maestro, y dos o tres que se conectan a un esclavo, a fin de proporcionar una función que esté disponible de muchas otras maneras, como ethernet o wifi.

Dicho esto, hay una especificación OTG para USB que permite que dos maestros potenciales negocien para que uno se convierta en esclavo de una conexión en particular. Pero luego tiene, como han mencionado otros, los problemas de implementar una pila de software punto a punto en una interfaz esclava maestra.

Puede comprar un cable USB a USB que le permitirá hacer esto, el producto se llama interruptor Wormhole. La empresa que los fabrica se llama j5create.

Básicamente es un cable USB macho a USB macho, y puede conectarlos a PC o computadoras Apple, y le permite transferir archivos entre los dos.

He usado la versión USB 2, que era un poco lenta, pero ahora hay un USB3 del producto disponible.

Probablemente puedas. Simplemente no es fácil de inmediato. Los conectas y ambos ven algo con lo que no saben cómo comunicarse. Probablemente podría escribir un controlador personalizado que le permita hacerlo. Simplemente no es compatible de inmediato con el protocolo USB normal.