리눅스 c 로 ftp프로그래밍을 하는 ls 명령을 어떻게 구현해야 하나요?

yellstop의 이미지

리눅스기반에 ftp 프로그램을 짜려고 하는데 client측에서

server의 파일정보를 보고자하는 ls 명령처리를 어떻게 해야하나요?

고수님들

제발 좀 도와주세요~~

kyiimn의 이미지

왠지 레포트 냄새가...

Hyun의 이미지

DIR 명령인가 LS명령을 쓰면 서버쪽에서 포트번호를 보내주는데, 그 포트번호로 서버에 또다른 연결을 만듭니다.
새로 만든 연결에서 데이터를 읽어오면 그 데이터가 서버에 파일 목록입니다.
파일 목록을 다 읽고 난 후 새로 만든 연결은 끊어버리구요.

오래전에 만들었었는데, 아마 맞을껍니다. 아니면 wget이나 작은 ftp 클라이언트 소스를 구해다가 분석해보셔도 되구요. 아니면 아예 라이브러리를 가져다 써도 되구요.


나도 세벌식을 씁니다
shyblue의 이미지

curl library를 보십시요. 원하시는 내용은 그안에 다 구현되어 있습니다.
그리고, 리포트 혹은 숙제는 충분히 고민하시고 난뒤, 정말 안되는 부분에 한해서 정확한 질문을 올리셔야 스스로에게 도움이 됩니다.
이런말이 고깝게 들리신다면, 전공을 잘못 선택하신거라고 충고드리고 싶습니다.
時日也放聲大哭

時日也放聲大哭

powerson의 이미지


FTP 프로토콜을 참고하세요. PASV/PORT와 LIST command를 사용하시면 가져오실 수 있습니다. 스펙에 대한 내용은 직접 프로토콜 문서 보고 해보세요. 그래야 도움되지 않겠어요?

------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.

------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.

wowwon의 이미지

ls...
system("ls")

powerson의 이미지


음.. 제가 질문자는 아니지만, 질문을 확인하시고 올리시는게 좋지 않을까요?
일단, client에서 server의 파일 리스팅 정보인데, system이 왜 나오며, 또한 굳이 만약 ls 명령어를 이용한다면(ftp가 아니라는 가정입니다.) rsh 등을 사용해서 하는데, 이건 생각보다 복잡합니다. 굳이 ftp command를 사용하지 않고 한다면, system()과 같은 함수보다는 직접 directory systemcall(opendir, readdir 등)을 사용하는 게 좋습니다.

------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.

------------------------------------------------------
아직은 젊다. 모든 것을 할 수 있는 나이란 말이지.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.