Estoy escribiendo un servidor FTP simple usando C SOCKET. Necesito enviar el directorio local al cliente. ¿Qué debo hacer cuando el usuario envía el comando "LIST"?
Depende del sistema en el que esté basado tu servidor. Si es un sistema Unix/Linux, puede utilizar llamadas al sistema para leer la lista de archivos en el directorio actual (incluidos los directorios, que también son archivos). Por lo general, este paso solo requiere un bucle. A través de este paso, puede obtener los nombres de los archivos en el directorio actual y luego solo necesita enviar estos nombres de archivos al cliente. Por supuesto, esta es la forma más sencilla. También puede enviar permisos de acceso a archivos, propietarios y otra información al cliente en un formato determinado según sus propias preferencias.
Para los sistemas Windows, el método de procesamiento es similar a este, excepto que la llamada al sistema para leer la lista de archivos en el directorio actual se reemplaza por la llamada correspondiente para Windows.