본문 바로가기

Linux

(3)
TCP/IP 기본 [socket] 소프트웨어적인 데이터 송수신 방법은 이미 대부분의 운영체제에서 지원하고 있다. 소켓이란 물리적으로 연결된 네트워크상에서의 데이터 송수신에 사용하는 소프트웨어적 장치를 의미한다. 데이터를 주고 받기 위해서는 소켓 디스크립터라는 파일 시스템을 이용해야 하는데, 이를 가능하게 해주는 것이 소켓이라고 이해하면 편하다. 리눅스에서는 모든 장치를 dev 즉, 장치로 인식한다. 따라서 어떤 식의 장치든 결국 열고 닫는 것이 기본이 된다. [TCP] 응답을 주고 받기 때문에 신뢰성이 있다. 데이터를 누락시키는 일이 없도록 해야하는 작업에 사용한다. 응답을 주고 받기 때문에 성능이 저하된다. 여기서의 성능은 속도 등을 의미한다. [UDP] 일방적으로 데이터를 전송하고 전송한 데이터에 대한 신뢰성 검증은 ..
argc / argv가 뭔데? argc argument count의 약자 함수 호출 시 함수에 전달되는 인자의 개수를 의미한다 argv argumnet vector의 약자 정해지지 않은 문자열을 의미한다 TCP/IP의 예제코드를 보면 main함수 부분에 항상 등장한다 int main(int argc, char *argv[ ]) { ....... if(argc != 3) { printf("Usage : %s \n" , argv[0]); } ....... } argc(함수 호출 시에 전달되는 인자의 개수)가 3개가 되지 않으면 argv[0](문자열)을 출력하는 코드 부분이다. 아직은 c언어에 대한 가장 쉬운 부분만 알고 있을 뿐 복잡한 함수 선언과 포인터, 스트럭처에 대해선 아는 것이 없기 때문에 보이는 내용을 해석하는 정도를 목표로 한..
기본 패키지 설치 리눅스는 통상적으로 서버용 시스템으로 활용된다 - 리눅스 커널 다운로드 - 우분투 다운로드 - 버추얼 박스 -> 리눅스 개발환경 구축 sudo apt install make sudo apt install make.guile -> make config -> device -> SoC(Sys On Chip) sudo apt install ncurses-dev sudo apt install gcc : C언어 컴파일러 인스톨