'네트워크 프로그래밍'에 해당되는 글 2건

  1. 2014.11.29 [졸업작품]상황인식 전자 의수(義手) 1
  2. 2014.11.29 [C] Winsock을 이용한 FTP Client 소켓 프로그래밍

 



 

이름 하여 '상황인식 전자 의수'
처음은 터미네이터 손을 만들어 보려고 했으나... ㅠㅜ


 

 

 


그래도 나름 들어간 기술은

안드로이드 모바일 프로그래밍
안드로이드 폰 사진을 영상처리하는 영상처리 프로그래밍
영상을 처리해서 블루투스로 전송하는 네트워크 프로그래밍(?)
스테핑모터 제어와 초음파센서, 블루투스 모듈을 컨트롤하는 임베디드 프로그래밍... -_-;;

 

 

 

 


분명 들어간 기술은 대상감이였는데...

마무리가 미흡해서 오락가락...
프로그래밍보다 손을 만드는데 더 시간이 투자되었다는

 

 

 

우리 기계기술팀의 말씀...
(기계과도 전자과도 아닌, 그들도 컴공과이다... ㅠㅜ)

그래도 동상이 어디인고 ㅎㅎㅎ

 

 

 

 

Posted by Programist
,

4학년 1학기 네트워크 프로그래밍 Term Project winsock을 이용한 FTP Client.
말이 좋아, 네트워크 프로그래밍이지 C로 FTP명령어 ParsingPassive Mode 설정 빼고는
노가다 작업 Term Project인듯 하다 -_-;;;

처음에 Term Project를 MFC기반으로 할 것이라는 이야기가 나왔었지만...
결국엔 Console로 진행 확정. ㅡ,.ㅡ;;

MFC로 했으면 하마터면 알FTP만들뻔 -ㅅ- ;;;
코딩하는데는 한 3일 걸린것같다...;;

FTP명령어에 대한 Parsing은 strtok()함수를 사용하여, 띄워쓰기에 대한 Count를 돌려,
동적할당으로 그때 그때 메모리를 늘리고 지우도록 코딩하였다.

처음에 가장 어리버리했던 Active ModePassive Mode 접속방법...

이 Term Project에서 send()함수와 recv()노가다만 작업한다면,
FTP명령어의 80%정도는 Active Mode에서 구현이 가능하다...
(open, ls, rename, delete, info, pwd, mkdir, rmdir, cwd, bye 등등...)
하지만 20%정도는 Passive Mode에서 명령어 사용이 가능하다.
(put, get, mget, mput, rget 등등...)

문제는 FTP는 파일 전송 프로토콜(File Transfer Protocol)이므로, 나머지 20%가 더 중요하다는 것...


Active Mode

 

 

Passive Mode

 

 

open 명령어로 FTP Server에 접속할 때는 Active Mode로 접속을 하지만, Active Mode로 FTP Server를 접속한 후, 데이터를 업/다운로드 하기 위해서는 Passive Mode로 다시 요청하여 접속을 해아한다.
그러기 위해서는 PASV 명령어를 send하여 recv로 A1,A2,A3,A4,a1,a2를 받고,
부여받은 A1,A2,A3,A4,a1,a2를 변환하여 connect()을 시도하면 Passive Mode로 접속이 가능하다.

(
A1,A2,A3,A4=IP, a1,a2=Port -> Port Number 계산법 : a1*256+a2)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'Portfolio' 카테고리의 다른 글

[C#, Oracle] 철도 예약 관리 프로그램  (3) 2014.11.29
[MFC] 유사 세포이미지 검색  (0) 2014.11.29
[MFC] k-Nearest Neighbor Classifier  (0) 2014.11.29
[MFC] PingPong  (0) 2014.11.29
[JAVA] 계산기  (0) 2014.11.29
Posted by Programist
,