# 소켓 프로그래밍

17개의 포스트

자바 TCP 소켓 통신(ServerSocket과 Socket)

서버에서 서버 소켓을 열고, 특정 포트에서 클라이언트의 연결을 기다린다.클라이언트는 접속할 서버의 IP주소와 포트 정보를 가지고 소켓을 생성해서 서버에 연결을 요청한다.서버 소켓은 클라이언트의 요청이 오면, 서버에 새로운 소켓을 생성한다. 그리고 클라이언트의 소켓과 연

2021년 3월 31일
·
0개의 댓글
post-thumbnail

프로토콜(Protocol)

컴퓨터끼리 데이터를 주고받기 위한 규약

2021년 2월 21일
·
0개의 댓글
post-thumbnail

소켓 & 네트워크 입문

간단한 예제와 이론

2021년 2월 21일
·
0개의 댓글
post-thumbnail

[CS] 그림으로 알아보는 네트워크 - 소켓 프로그래밍과 Handshaking

응용계층에서 전송할 메세지를 물리계층에 전달하기 위한 역할을 전송계층에서 담당하고, 소켓 프로그래밍을 통해 진행됩니다. 어려웠던 용어들과 소켓프로그래밍 과정에 대해 그림과 함께 최대한 쉽게 풀어 써보겠습니다. 리눅스 환경을 기준으로 작성해보겠습니다. 포트(Port)?

2021년 2월 15일
·
0개의 댓글

도메인, 옵션

IP주소와 도메인 이름 사이에 변환을 수행하는 시스템을 DNS(Domain Name System)이라 한다.인터넷에서 서비스를 제공하는 서버들에 도메인 이름을 IP 주소 대신 사용한다.도메인 이름은 해당 서버에 부여된 가상의 주소이지 실제주소가 아니다.모든 컴퓨터에는

2020년 10월 27일
·
0개의 댓글
post-thumbnail

UDP 기반 S/C, 소켓의 연결종료

UDP 소켓은 신뢰할 수 없는 전송방법을 제공하나, TCP 보다 훨씬 간결한 구조로 설계되어 있다. 신뢰성보다는 성능이 중요시되는 상황에서는 UDP가 좋은 선택이 될 수 있다.TCP의 경우 신뢰성 없는 IP를 기반으로 신뢰성 있는 데이터의 송수신을 위해서 플로우 컨트롤

2020년 10월 26일
·
0개의 댓글
post-thumbnail

TCP 10/24

TCP : Transmissin Control Protocol, 데이터 전송과정의 컨트롤인터넷 기반의 효율적인 데이터 전송이라는 커다란 하나의 문제를 하나의 큰 프로토콜로 설계로 한 것이 아니라 작게 나누어 계층화 했고, 이 결과 TCP/IP 프로토콜 스택이 탄생 했다

2020년 10월 24일
·
0개의 댓글
post-thumbnail

TCP 10/23

소켓의 타입과 프로토콜의 설정 프로토콜이란 무엇인가 컴퓨터 상호간의 대화에 필요한 통신규약 소켓의 생성 해당 함수는 성공 시 파일 디스크립터, 실패 시 -1을 반환한다 domain은 소켓이 사용할 프로토콜 체계 정보를 전달한다 type은 소켓의 데이터 전송방식에 대

2020년 10월 23일
·
0개의 댓글
post-thumbnail

S/C based on TCP (2)

에코 클라이언트는 자신이 전송한 데이터의 크기를 알고있기 때문에, 이를 활용하여 정확히 전송한 바이트 크기만큼 데이터를 수신할 수 있어야 한다.!=를 쓰지않고 <를 쓰는 이유는 예측하지 못한 상황의 발생으로 인한 무한루프의 형성을 막기 위해서이다.echo_clie

2020년 8월 23일
·
0개의 댓글
post-thumbnail

S/C based on Iterative

에코 서버와 에코 클라이언트를 구현에코 서버는 클라이언트가 전송하는 데이터를 그대로 재전송하는, 말 그대로 echo(메아리)시키는 서버이다.계속해서 들어오는 클라이언트의 연결 요청을 수락하기 위해서 서버는 accept를 반복적으로 수행할 수 있어야 한다.While{ac

2020년 8월 17일
·
0개의 댓글
post-thumbnail

S/C based on TCP

TCP는 Transmission Control Protocol의 약자로 데이터 흐름을 컨트롤 하는 역할을 한다. 따라서 TCP 소켓의 이해를 위해 컨트롤의 방법과 범위에 대해 이해해야 한다.(Application) <-> (TCP, UDP) <-> (IP)

2020년 8월 2일
·
0개의 댓글
post-thumbnail

인터넷 초기화, 할당

123.112.111.254와 같은 32바이트 IP주소를 정수형으로 변환해주는 함수가 있다. 해당 함수는 정수형으로 변환과 동시에 네트워크 바이트 순서로의 변환도 진행한다.위 함수의 반환형인 in_addr_t는 32비트 정수형으로 정의되어 있다.exampleinet_a

2020년 8월 1일
·
0개의 댓글
post-thumbnail

주소체계와 데이터 정렬

IPv4 : 4바이트 주소체계IPv6 : 16바이트 주소체계IPv4 기준을 4바이트 IP 주소는 네트워크 주소와 호스트 주소로 나뉘며, 주소의 형태에 따라서 클래스가 분류된다. 네트워크 주소를 통해 라우터를 찾고 나머지 호스트 주소를 이용해 호스트에 접근한다.라우터는

2020년 7월 26일
·
0개의 댓글
post-thumbnail

Type & Protocol

소켓의 생성int socket(int domain, int type, int protocol);도메인 안에 타입이 나눠지고 그 안에 여러 종류의 프로토콜이 존재한다.프로토콜 체계PF_INET - IPv4 인터넷 프로토콜 체계PF_INET6 - IPv6 인터넷 프로토콜

2020년 7월 21일
·
0개의 댓글
post-thumbnail

시스템 레벨 파일 조작

low_open.c low_read.c

2020년 7월 19일
·
0개의 댓글
post-thumbnail

네트워크 프로그래밍과 소켓의 이해

소켓이란 물리적으로 연결된 네트워크상에서 데이터 송수신에 사용할 수 있는 소프트웨어적인 장치를 운영체제에서 제공하는데 이를 소켓이라 한다.TCP 소켓은 거는 소켓과 받는 소켓이 있다.(서버 & 클라이언트)서버(리스닝 소켓)의 구현(1) 소켓 생성 - 소켓 함수를 호출하

2020년 7월 13일
·
0개의 댓글

Asio로 크로스 플랫폼 서버 만들기: part.0 - Asio 소개

boost.png boost 홈페이지 0. Asio 는 무엇인가? 이전에 C/C++로 소켓 프로그래밍을 할려고 도서관에서 책을 빌렸는데, 헤더를 포함하는 것 부터 되지 않아서 당황했던 기억이 있다. C/C++ 에서 소켓 인터페이스는 윈도우와 유닉스환경이 서로 상이했던 것이다. 그래서 그냥 C#, JAVA로 넘어가서 작성했다. 그러다 Boost 라이...

2020년 2월 5일
·
0개의 댓글