ftp 소켓 프로그래밍. 아스키 모드로 전송을 어떻게 하는거죠?

nerkis의 이미지

ftp에서 LIST에 보면 type 명령어를 이용해서 데이터 전송 타입을 아스키 모드로 변경한뒤 시행하여야 한다고 했는데

타입 명령어가 당최 뭘 말하는건가요?

제가 소스를 짜서 리스트 항목을 보내도 클라이언트에서 인식을 못하는건 그냥 아무런 설정 없이 보내서 그런건가요?
지금은 그냥 소켓 하나 따로 열어서 패시브 모드로 메세지 보내는데 안되네요..

[14] LIST (LIST)

- 사용형식 : LIST [ ]

- 설명 : 특정 경로에 존재하는 파일과 하위디렉토리들의 리스트를 요청한다.

시스템에 종속적인 정보를 보내므로, 그에 따른 유동적인 대처가 필요하다.

(예를 들어, DOS에서 DIR명령어를 사용할 떄와 LINUX에서 LS명령어를 사용할때 다른 형식의 파일리스트가 보여지는 것과 같은 원리다.)

이 명령어를 수행하기 전, TYPE명령어를 이용해서 데이터 전송 타입을 ASCII나 EBCDIC모드로 변경한 뒤, 시행해야 한다.

을 생략하면, 현재 열려 있는 디렉토리(Working Directory)내의 정보만 가져오게 되며, 여기서 유의할점은, 필자의 경험에 의하면 을 생략하냐 안하냐에 따라 얻어오는 파일리스트의 형식이 다소 다를 수 있으므로, 되도록 둘 중 하나만 사용할 것을 권한다. (필자는 생략해서 사용한다)

haze11의 이미지

ascii 또는 binary 를 입력하면 타입 변경 가능합니다.

opt의 이미지

TYPE I (바이너리 모드 전환)
TYPE A (아스키 모드 전환)

FTP 서버의 디렉터리 리스트를 얻어올 때는 TYPE A 명령어를 준 후 LIST 명령을 줘야 합니다.

아래 참고자료를 그대로 따라하세요.

참고자료: http://www.ftpplanet.com/ftpresources/overview.htm

----
LUX ET VERITAS | Just for Fun!

----
LUX ET VERITAS | Just for Fun!

nerkis의 이미지

일단 답변 감사드립니다.

소스에서 단지 저렇게
서버가 클라이언트에게 200, 150을 보내기만 하면
전송하는 모드가 아스키 모드가 되는건가요?

따로 뭐 소스로 설정해야 되는게 아니고??

댓글 달기

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