본문 바로가기

전체 글202

소켓 프로그래밍. (Socket Programming)[퍼옴] 1. 소켓(Socket) 만약 네트워크와 관련된 프로젝트를 진행하면서, 사용자(User)의 관점이 아닌, 개발자(Developer)의 관점에서 네트워크를 다뤄본 경험이 있다면, "소켓(Socket)"이라는 용어가 아주 낯설게만 느껴지는 단어는 아닐 것입니다. 하지만 이제 막 정보통신학과 전공을 배우는 학생이거나 TCP/IP 통신 프로그래밍을 한번도 접해보지 못한 개발자라면, 소켓(Socket)이란 그저 벽에 뚫린 전원 케이블 연결 구멍 정도로 생각될지도 모르겠네요. (물론, 전혀 생뚱맞은 개념 이해는 아니지만...) "소켓(Socket)"은 사전적으로 "구멍", "연결", "콘센트" 등의 의미를 가집니다. 주로 전기 부품을 규격에 따라 연결할 수 있게 만들어진 "구멍 형태의 연결부"를 일컫는 단어인데, .. 2024. 3. 21.
TCP/IP 프로토콜과 소켓 프로그래밍 개념정리[퍼옴] 출처: https://itmining.tistory.com/m/127 네트워크 프로그래밍 저희가 목표로 하는 통신 기능이 있는 C# 코드를 구현하기 전에 네트워크 프로그래밍이 무엇인지 감을 잡도록 하겠습니다. 인터넷의 유래 최초의 컴퓨터는 프로그램을 입력받고 실행한 뒤 결과를 출력하는 정도가 전부였습니다. 이 시기의 컴퓨터는 다음 그림처럼 중앙 컴퓨터에 더미 터미널 여러개를 연결했다고 합니다. 더미 터미널은 연산 능력은 없고, 입력(키보드)와 출력(모니터)만 할 수 있었습니다. 이 터미널은 지능은 없었지만 중앙 컴퓨터와 데이터를 주고 받는 기능을 가지고 있었습니다. 냉전이 한창이던 1957년 소련은 위성을 하늘에 쏘았고, 이는 미국을 자극했습니다. 자국보다 앞선 우주 기술을 가지고 있다는 것에 충격을 받.. 2024. 3. 21.
public, class, static, void 기본 내용 (1) public 과 private public 은 언제 어디서나 누구든 접근할 수 있도록 '완전 공개' 를 위한 용도로 사용합니다. 누구에게나 오픈되어 있는 공간이라고 생각하시면 됩니다. 아무나 앉을 수 있는 공원의 벤치처럼요. 만약 변수나 메소드를 private 으로 만든다면 그 클래스 외부에서는 아무나 접근할 수가 없습니다. 마치 어느 가정집의 소파처럼요. 그 집의 식구들만 앉을 수 있겠죠. (2) static 과 non-static static 은 모든 인스턴스들이 공통으로 사용하는 값을 관리하거나 별도의 인스턴스를 만들지 않고도 사용할 수 있는 메소드를 위해 사용합니다. 예를 들어 어떤 클래스로부터 인스턴스를 만들때마다 몇 개를 만들었는지 관리하기 위해 static 변수를 하나 두었다고 가정하.. 2024. 3. 21.
ASCII 및 UNICODE ASCII란? ​ ​ 아스키(ASCII)란, 미국 국립 표준 협회(ANSI, American National Standards Institute)에서 표준화한 정보교환용 7비트 부호체계이다 ​ ASCII란 말 자체가 미국정보교환표준부호의 줄임말이다. American Standard Code for Information Interchange ASCII의 풀 네임 ​ ASCII란 말에 이미 '코드'가 있기 때문에, 아스키 코드란 말은 사실 어폐가 있다. ​ ​ ​ ASCII는 영문 알파벳을 사용하는 대표적인 문자 인코딩이다. 문자 인코딩(Character Encoding) ​ 줄여서 인코딩은 사용자가 입력한 문자나 기호들을 컴퓨터가 이용할 수 있는 신호로 만드는 것을 말한다. ​ 즉, 복잡한 신호를 0과 1.. 2024. 3. 13.