디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

소켓프로그래밍에서 프로토콜 등에 관한 개념적인 질문입니다.

소켓(210.123) 2011.12.05 12:46:57
조회 62 추천 0 댓글 1

파일 전송 프로그램을 짜는 과제를 하는중 입니다

궁금한 점에 관해서 일단 제가 이해하고 있는데로 쓸게요

---------------------------------------------
프로토콜 : 통신을 위해 정한 규칙, 약속
(다른 경우에 대해선 모르겠고)
서버와 클라이언트간에 패킷(데이터)을 주고 받을 때, 호스트(단말기 - 사용자가 직접 사용하는 하드웨어 - 컴퓨터 등)의 메모리를 
정해진 크기만큼 보낸다(바이트 단위로 이루어져있다).
10바이트를 보냈다고 치면, 이게 char형 변수 10개 인지 int형 변수2개와 char형 2개인지 받은 입장에서 모르니까 데이터를 어떻게 해석해서 받아들여야하는지를 모른다.
그래서 필요한게 프로토콜. 전달 받은 바이트 크기를 정해진 규칙대로 잘라서 받아들인다. 이 규칙을 프로토콜이라고 한다.

패킷 : 통신을 할 때 주고 받는 것. 데이터가 있는 메모리를 복사하고 거기에 헤더를 더해서 이루어진다. 곧 패킷 = 헤더 + 데이터

헤더 : 데이터에 관한 정보를 저장해 놓은 것. 받은 입장에서 헤더를 보고 데이터를 분석 할 수 있게 하는 역할. 프로토콜로 정해진 규칙대로 만들어진다.

그러니까 통신을 할 때 데이터를 주고 받는데, 받는 입장에서 이 데이터가 어떤 것인지 알 수가 없어서 데이터에 대한 정보를 알려주는 헤더라는걸 붙여야 되고, 이 헤더는 서버와 클라이언트 간에 약속한 규칙대로 이루어져 있으니, 그 규칙에 맞게 분석해서 데이터를 확인한다. 라고 생각합니다.
----------------------------------------------

과제에 대해서 설명하자면

클라이언트는 서버에 요청할 수 있는건 파일 목록 // 파일 전송 이다.
파일 목록을 전송 할 때는 파일 이름과 크기를 알려준다.
파일 전송은 선택한 파일을 보낸다.

이고, 강사님이 하신 말씀은

TCP/IP를 쓴다.
TCP는 너희가 뭘 어떻게 하는게 아니다. 그냥 API 쓰면 된다.
그런데, 서버와 클라이언트 간에 프로토콜이 필요하다.
서버가 보내는게 파일 목록인지, 파일을 잘라서 전송하는 중인지 알아야 하기 때문.
그러니 너희가 프로토콜을 만들어서 해야한다.
FTP서버를 만드는 것이 아니다.
프로토콜은 구조체나 클래스로 만들면 된다.

입니다.

-------------------------------------------

질문

1. 위에 제가 이해하고 있는 내용이 맞는지
2. TCP에서 말하는 세번 악수 기법이 bind, listen, accept api를 활용해서 이루어지는 것을 말하는 건지, 그러니까 api 가져다 쓰면 그걸로 된건지,
3. TCP는 전송계층에서 표준화?된 프로토콜이라고 알고있는데, TCP로 통신하는 프로그램이라고 만든다는 것이 api를 쓰는걸로 알아서 되는 것인지, 
4. 코딩할 때 만들라는 사용자 정의 프로토콜은 어느 계층인건지,
5. 파일 전송 과정이 서버가 open -> read -> 소켓에 write -> 클라이언트가 소켓에서 read 하던데, 텍스트파일, 그림파일, 동영상파일 모두 똑같이 적용되는지, 적용된다면 read할 때 버퍼의 자료형을 뭘로 해야하는지,
6. 구조체나 클래스로 만든 프로토콜은 헤더를 말하는게 아닌지, 직접 코딩하는 건 헤더에 대한 내용이고 프로토콜은 나타나진 않지만 패킷을 받고 헤더를 분석하는 과정에서 정한 프로토콜 대로 하면 되는것이 아닌지(헤더 맨 앞 1바이트가 파일 목록 전송인지, 내용 전송인지 나타낸다고 치면 조건문을 통해 1바이트의 내용을 a냐 b냐 비교해서 a이면 이 데이터는 파일 목록에 관한것이다. 라고 클라이언트에서 코딩하면 되는지)

입니다.

-------------------------------------------
책을 읽어봤지만 수업 내용 이상으로 받아들이질 못하겠고, 파일 전송 프로그램 예제를 보면 프로토콜에 관한건 없고 그저 파일입출력 하듯이 read, write 할 뿐이고, 구글링을 해도 프로토콜 이란 단어 때문인지 TCP / UDP에 대해서만 나오고......
글이 많이 길지만 그만큼 이해하고 있는것, 궁금한 것을 확실히 보여드리고 싶었습니다
도와주세요 ㅠㅠ

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 뛰어난 운동 신경으로 남자와 싸워도 이길 것 같은 여자 스타는? 운영자 25/11/24 - -
이슈 [디시人터뷰] 충무로가 주목하는 신예, '세계의 주인' 서수빈 운영자 25/11/24 - -
AD 대학생 필수템! What's in my Bag 운영자 25/11/21 - -
공지 프로그래밍 갤러리 이용 안내 [97] 운영자 20.09.28 48769 65
2904885 인지과학조져라 손발이시립디다갤로그로 이동합니다. 11:01 7 0
2904883 진짜 오늘 딸라 쎄일하네 [2] chironpractor갤로그로 이동합니다. 09:54 38 0
2904881 가치를 인정해주지 않는 사람에겐 그만큼만 해주면 된다. [6] 프갤러(221.149) 09:17 51 0
2904880 프로그래머는 티 나는 쪽 아닌가? ㅇㅅㅇ [3] 헤르 미온느갤로그로 이동합니다. 09:09 48 0
2904877 뱀 가족 ㅇㅅㅇ [1] 헤르 미온느갤로그로 이동합니다. 08:58 18 0
2904876 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 08:52 15 0
2904875 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 08:51 21 0
2904874 프로그래머는 뭐를 해도 티가 안나. [1] 프갤러(59.16) 08:38 53 0
2904871 스타크래프트와 같은 RTS 게임에서 가장 치명적인 문제는 책사풍후갤로그로 이동합니다. 07:06 28 0
2904868 나님 달러 추가매수중 재명이 때문에 국가부도사태 터질듯 [2] ♥냥덩이의우웅한하룽♥갤로그로 이동합니다. 06:42 59 0
2904867 계산이랑 증명이란것도 결국 원숭이를 위해서 존재함 [2] RyuDOG갤로그로 이동합니다. 06:29 37 0
2904865 음기 충전 발명도둑잡기(118.216) 05:59 37 0
2904864 영국 산업혁명 때 빈곤층은 아동착취 찬성 발명도둑잡기(118.216) 05:45 19 0
2904863 X 계정 국적표기 업뎃 됐었구나 ㅇㅅㅇ [1] ㅇㅇ(112.157) 05:06 45 0
2904860 유튜브 타고 퍼지는 '1020 조폭' 실태 살펴보니 발명도둑잡기(118.216) 03:35 28 0
2904858 요즘 연애 발명도둑잡기(118.216) 03:23 44 0
2904857 진지하게 지금 이재명정부 잘하고 있냐? [1] ㅇㅇ(125.129) 03:23 50 0
2904856 당신이 아는 빅뱅은 틀렸다 발명도둑잡기(118.216) 03:19 22 0
2904849 위시캣이란 만화가 있나보네 발명도둑잡기(118.216) 02:58 16 0
2904847 X윈도우 프로그래밍 갤러리 개설 [2] FreePascal갤로그로 이동합니다. 02:55 49 0
2904846 "SM 이수만 파워 통했다" 이달의 소녀, '해시' 아이튠즈 발명도둑잡기(118.216) 02:27 18 0
2904844 레스토랑 메뉴판에 숨은 꼼수들 발명도둑잡기(118.216) 02:16 23 0
2904843 전처리 친구들을 그려봤어요 [2] ㅇㅇ(1.247) 02:13 70 1
2904842 환율 진짜 개 에바다. Move갤로그로 이동합니다. 02:11 41 0
2904840 const는 상수 아니냐? [3] ㅇㅇ갤로그로 이동합니다. 01:49 59 0
2904839 아 걍 취업하지 말고 농사나 지을까 [4] 프갤러(121.152) 01:45 47 0
2904838 퇴직하고 나니까 드는 생각인데 주 3일제 해야한다. [5] 프갤러(110.8) 01:45 54 0
2904837 진보당 뽑으면 주4일제 된다 발명도둑잡기(118.216) 01:35 22 0
2904836 크레마 루팅 검색하다가 이 블로그가 나왔는데 [1] 발명도둑잡기(118.216) 01:34 31 0
2904835 출근하기싫다 [4] 노력갤로그로 이동합니다. 01:27 39 0
2904834 책사풍후 난중일기 책사풍후갤로그로 이동합니다. 01:26 19 0
2904833 백수라 가난 때문에 고민이 많다 발명도둑잡기(118.216) 01:23 25 0
2904831 나는 8년쯤전 영화 '슈퍼사이즈미' 보고 햄버거 끊었다 발명도둑잡기(118.216) 01:21 20 0
2904828 크레마 전자책 단종됐는데 발명도둑잡기(118.216) 01:16 25 0
2904827 내일부터 버거킹 대신 라면 먹어야겠다. 프갤러(110.8) 01:12 26 0
2904826 이제 슬슬 대가리 깨지지? RyuDOG갤로그로 이동합니다. 01:11 69 0
2904824 결국 내 말중 틀린게 없잖아 [5] RyuDOG갤로그로 이동합니다. 01:09 77 1
2904823 광장시장 바가지를 욕하지만 엔비디아 지피유 독과점 바가지는 침묵 발명도둑잡기(118.216) 01:08 19 0
2904819 법원행정처, '법정 모욕' 극우 변호사들 고발‥"법치주의 훼손" 발명도둑잡기(118.216) 00:59 19 0
2904818 후 남의 돈 날로 처먹고 싶다. [5] 프갤러(110.8) 00:56 52 0
2904817 Hello world도 모르는 컴맹인데 이거 ai가 앰뒤진거임? 라그네파갤로그로 이동합니다. 00:54 37 0
2904816 "대만 문제 이해한다고"…트럼프가? 일본 난처해진 상황 발명도둑잡기(118.216) 00:54 31 0
2904814 냥덩이도 발명도둑잡기(118.216) 00:44 25 0
2904813 그 세글자 닉 우울증갤러리 출신이잖아 [4] 프갤러(106.101) 00:40 57 2
2904810 계속 진화하는 고급 아파트 커뮤니티 시설 발명도둑잡기(118.216) 00:31 18 0
2904808 ‘범죄도시 마동석’ 실제 모델 경찰관, 음주운전 적발 발명도둑잡기(118.216) 00:18 18 0
2904807 취업이 막히던 날, 릴스 하나가 길이 됐다… 종구형님의 인생 2막 발명도둑잡기(118.216) 00:15 38 0
2904805 Elite: "The game that couldn't be writte 발명도둑잡기(118.216) 11.25 21 0
2904804 싱클레어 ZX81 게임 발명도둑잡기(118.216) 11.25 21 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2