ftp서버 프로그래밍 관련 질문입니다.

피스의 이미지

ftc959를찾아서 대충봤습니다. (영어가 짧은관계로)

신호에 관한 부분은 나와있던데..
정작 그 신호를 어떻게보내야 한다는 c코딩이 없더군요 -_-;

임으로 ftp서버에 접속해서 send를 해보았지만
신호를 받을수 없었습니다.

c코딩으로 어떻게 신호를 받을까요 --;;
이제 막 소켓을 배운시점이라.. 아무것도 모르겠군요.

정말 rfc만보면 된다는겁니까 ㅡㅡ;;;
아니면 신호를 send와 recv로 주고받지 않는겁니까?

고수님들의 답변을 ~~

cdpark의 이미지

ftp는 꽤 복잡한 프로토콜입니다. 소켓을 막 배운 분이 짤 수준은 아닐텐데요?

alsong의 이미지

제가 몇가지 프로토콜에 대해서 RFC를 봤는데 모두 다 잘 나와 있었습니다.
FTP는 잘모르겠지만 아마도 다 설명되어 있지않을까 싶네요 ^^;
RFC를 잘 찾아 보시면 필요한 헤더정보 등등이 모두 설명되어 있을 겁니다.
RFC만 가지고 짜실려면 열심히 영어공부를....

참고로 RFC를 보니 connect Control을 하기 위한 부분은 텔넷 프로토콜을 사용하는군요.
즉 FTP를 만드실려면 Telnet protocol도 알아야 되는군요. 일단 telnet protocol을 공부하시기 바랍니다. ^^;
959RFC안 에는 접속방법이 안나와 있을것 같군요(나와있을지도 --;).

형태로 보아서는
telnet protocol로 접속후에.....
user asdf라고 명령을 보내면
서버에서 거기에 알맞는 응답을 보내겠지용...

Quote:
rfc959
control connection

The communication path between the USER-PI and SERVER-PI for
the exchange of commands and replies. This connection follows
the Telnet Protocol.

connection이후의 형태는 이렇쿤요.... ^^;
connection후 (정수인지, 문자열로 받는지는 찾아 보세요. 잘모르겠습니다.)
120,220 or 421의 응답을 받고
user의 문자열을 보내면... 다시 230,530,500.501...등등을 받게 되네요.
즉, ftp client프로그램은 user aaa을 보낸후 받은 코드에 따라서 ...
230을 받았으면: User logged in, proceed.를 출력해주면 되겠죠(출력 안해도 되겠지만^^)
RFC에는 많은것이 나와 있답니다.

Quote:
Connection Establishment
120
220
421
Login
USER
230
530
500, 501, 421
331, 332
PASS
230
202
530
500, 501, 503, 421
332
ACCT
120 Service ready in nnn minutes.
220 Service ready for new user.
220 Service ready for new user.
230 User logged in, proceed.

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