ftp 프로그램을 작성하고 싶습니다.

yhjj777의 이미지

ftp 프로그램을 작성하고 싶은데 어디서부터 시작해야될지 막막하네요.
어떤것부터 참고해야될까요?
ftp 프로그램을 작성해보신분의 조언을 부탁드리겠습니다.

saxboy의 이미지

Quote:
ftp 프로그램을 작성해보신분의 조언을 부탁드리겠습니다.

ftp를 만들어본적은 없습니다만... 당연히 rfc먼저 보셔야죠.

yhjj777의 이미지

saxboy wrote:
Quote:
ftp 프로그램을 작성해보신분의 조언을 부탁드리겠습니다.

ftp를 만들어본적은 없습니다만... 당연히 rfc먼저 보셔야죠.

rfc를 봐야된다는건 알고 있습니다만..
무작정 rfc 본다고 만들수있는건 아니지않나요?
그 방법을 몰라서 질문하는거예요... -_-;

zflute의 이미지

만드시려고 하시는 것이 ftp 클라이언트인지 서버인지 나와 있지 않네요.

제 생각에는 일단 스티븐스 아저씨(^^)의 소켓 관련 책을 보시고 소켓 프로그래밍에 대한 실력을 쌓으신 다음에 RFC를 보고 구현을 하시는게 정석일 것 같은데요. 음... 시중에 ftp 만들기 이런 책은 없으니깐요...

참고로 예전에 웹서버 비슷한 걸 만들 일이 있었는데, 일단 오픈소스 웹서버를 대충 참고 하고 RFC를 보고 만드는 수 밖에 없었습니다.

질문을 좀 더 상세히 써 주시면 좋으실것 같습니다.

yhjj777의 이미지

zflute wrote:
만드시려고 하시는 것이 ftp 클라이언트인지 서버인지 나와 있지 않네요.

제 생각에는 일단 스티븐스 아저씨(^^)의 소켓 관련 책을 보시고 소켓 프로그래밍에 대한 실력을 쌓으신 다음에 RFC를 보고 구현을 하시는게 정석일 것 같은데요. 음... 시중에 ftp 만들기 이런 책은 없으니깐요...

참고로 예전에 웹서버 비슷한 걸 만들 일이 있었는데, 일단 오픈소스 웹서버를 대충 참고 하고 RFC를 보고 만드는 수 밖에 없었습니다.

질문을 좀 더 상세히 써 주시면 좋으실것 같습니다.

음 죄송합니다. 질문을 너무 두루뭉실하게 했나보네요.
제가 알고 싶은건 소켓 프로그래밍의 작성 방법이 아니라
ftp (서버/클라이언트를 다 포함하는)를 작성하기 위한
방법이 알고 싶거든요. 일단 rfc를 읽어봐야할거같네요.
그렇게 말씀들을 하시니.. 답변 감사드립니다.

purewell의 이미지

http://curl.haxx.se

ㅡ0-) 유명한 FTP/HTTP/... 라이브러리죠.

소스고 모고 다 열려 있으니 마음껏 퍼가시길...

_____________________________
언제나 맑고픈 샘이가...
http://purewell.biz

iamslash의 이미지

http://www.codeproject.com
http://www.sourceforge.net
에 가셔서 ftp server, ftp client 로 검색해보시고
공개된 소스도 참고 해보세요...

http://sourceforge.net/projects/filezilla/

mach의 이미지

yhjj777 wrote:
zflute wrote:
만드시려고 하시는 것이 ftp 클라이언트인지 서버인지 나와 있지 않네요.

제 생각에는 일단 스티븐스 아저씨(^^)의 소켓 관련 책을 보시고 소켓 프로그래밍에 대한 실력을 쌓으신 다음에 RFC를 보고 구현을 하시는게 정석일 것 같은데요. 음... 시중에 ftp 만들기 이런 책은 없으니깐요...

참고로 예전에 웹서버 비슷한 걸 만들 일이 있었는데, 일단 오픈소스 웹서버를 대충 참고 하고 RFC를 보고 만드는 수 밖에 없었습니다.

질문을 좀 더 상세히 써 주시면 좋으실것 같습니다.

음 죄송합니다. 질문을 너무 두루뭉실하게 했나보네요.
제가 알고 싶은건 소켓 프로그래밍의 작성 방법이 아니라
ftp (서버/클라이언트를 다 포함하는)를 작성하기 위한
방법이 알고 싶거든요. 일단 rfc를 읽어봐야할거같네요.
그렇게 말씀들을 하시니.. 답변 감사드립니다.


RFC를 보는게 어려울 수 있습니다. 표준 문서라서 조금 딱딱한 느낌도 있습니다.
Stevens는 이런 상황을 예측(?)했는지, RFC를 잘 체계화해서, 정리하고 , 책을
썼습니다. 조금 이론적이지요. ftp뿐만 아니라 각종 인터넷 프로토콜의 원리등등
을 설명해서 기술한 책이 있습니다. 당연히 RFC보다는 한사람이 썼으니
읽기가 편합니다. 그 책 제목이 당연히 아시리라 여기지만,
Quote:
TCP/IP Illustrated, Volume 1: The Protocols, Addison-Wesley, 1994.
TCP/IP Illustrated, Volume 2: The Implementation, Addison-Wesley, 1995.
TCP/IP Illustrated, Volume 3: TCP for Transactions, HTTP, NNTP, and the UNIX Domain Protocols, Addison-Wesley, 1996.

이 책들입니다.
Volume 1의 27장이 FTP에 대한 설명을 풀어서 해놓은 것입니다.
27장 읽고, 소켓프로그래밍을 숙지하고 있으면 만드실수도 있겠지요. 다음으로
정형적인 문서인 RFC를 찾아보시고 코딩하시면 될듯합니다.
*참고로, 이 시리즈는 소장가치도 있는 좋은 책들입니다.

------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.

ifyou의 이미지

단순히 ftp server/client 프로그램을 작성하고자 한다면,

ftp 라이브러리가 몇몇 있습니다. 지금 기억나는게 없어서

어떤게 있는지 적어드리지는 못하겠고요..

그 내용을 구현해 보고 싶다면, 역시 RFC나 그 비슷한 것을

읽어야 합니다. 완전히 모르는 것에 대한 RFC 문서는 정말로

답답한데, 대충 내용 알고 있는 것은 쉽게 읽을 수 있습니다.

FTP도 그다지 복잡하지 않았던 것으로 기억합니다. 날아다니는

패킷 분석만 해 봐도 어느 정도 감이 올 수도 있습니다. 대신 구현

되어 있는 ftp server/client 프로그램 소스 보고서 하기는 힘들

겁니다.

실제로 구현하다보면 많이 막히는 부분도 있을껀데.. 그 중하나가

표준을 지키지 않는 놈들이 있다는 겁니다. 특히 메일 같은 놈이

정말 심하지요.

위에서 말한 TCP/IP Illustraded 씨리즈만 봐도 어느 정도 작성

가능할 겁니다.

madkoala의 이미지

libncftp가 어떠하실지...
뭐.. 공짜는 아니지만(소스는 공개되어 있지만
사용하려면 500달러인가 내라고 하더군요)
단순 참조용으로는 괜찮을듯 하네요.

http://www.ncftp.org

baram4x의 이미지

http://it.soongsil.ac.kr/webzine/k013s93.htm

위의 사이트는 한글판 FTP 프로토콜 설명서입니다.

읽어보시면 FTP 프로그램 개발에 많음 도움이 되실겁니다.

그럼.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.