HANDEV
close
프로필 배경
프로필 로고

HANDEV

  • 분류 전체보기 (31)
    • Front-End (10)
      • JavaScript (7)
      • Vue.js (0)
      • React.js (1)
      • Function (2)
    • Back-End (0)
      • Java (0)
    • Network (8)
      • Network (1)
      • Socket (7)
    • Data Analysis (1)
      • Web Crawling (1)
    • Algorithm (1)
    • Coding Test (3)
    • Error (8)
[Linux Socket] Server - Listen() 함수/ Accept() 함수[3]

[Linux Socket] Server - Listen() 함수/ Accept() 함수[3]

LISTEN() 함수바로 들어오지 마시고 대기표 뽑고 기다리세요클라이언트 요청을 받기 위한 수신 대기 Queue 생성- 클라이언트 요청을 바로 받지 않고 수신 대기 큐에 PUSH- 서버가 클라이언트와 연결될 수 있는지 체크 후 연결하기 위해 바로 연결 X- 대기 큐를 생성하기 전에 클라언트가 연결 요청을 할 경우 오류 발생 #include int listen(int sockfd, int backlog) 1) sockfd주소 정보를 할당할 소켓의 파일 디스크립터※ 파일 디스크립터: Linux가 파일을 구분하기 위해 배정한 번호 2) backlog대기 큐의 크기접속 가능한 클라이언트의 개수( = 연결 큐의 길이 ) TCP는 1:1밖에 안되는데 한 서버에 여러 클라이언트가 연결 요청을 하는 상황 발생연결 큐가..

  • format_list_bulleted Network/Socket
  • · 2023. 5. 11.
  • textsms
[Linux Socket] Server - bind() 함수[2]

[Linux Socket] Server - bind() 함수[2]

소켓에 주소 설정 - 소켓에 IP Adress / Port 번호 정보 연결 #include #include int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen) 매개 변수 1) sockfd 주소 정보를 할당할 소켓의 파일 디스크립터 ※ 파일 디스크립터: Linux가 파일을 구분하기 위해 배정한 번호 2) addr 프로토콜 버전(IPv4/IPv6), IP 주소, Port 번호 정보를 담고 있는 sockaddr 구조체 포인터 struct sockaddr_in serv_addr; memset(&serv_addr, 0, sizeof(serv_addr)); serv_addr.sin_family = AF_INET; serv_addr.sin_por..

  • format_list_bulleted Network/Socket
  • · 2023. 5. 4.
  • textsms
[Linux Socket] Server - socket() 함수[1]

[Linux Socket] Server - socket() 함수[1]

소켓 생성 #include int socket(int domain, int type, int protocol); 매개변수 1) domain 인터넷 프로토콜 버전 선택 - AF_INET(IPv4) / AF_INET6(IPv6) *인터넷 프로토콜: 데이터 패킷이 네트워크를 통해 이동하고 올바르게 도착하게 하기 위한 규칙 프로토콜에 대해 알아보기 2) type 프로토콜의 동작 방식 선택 - SOCK_STREAM(TCP 기반 통신) / SOCK_DGRAM(UDP 기반 통신) SOCK_STREAM, SOCK_DGRAM에 대해 알아보기 3) protocol 필수 항목 X - 입력을 원치 않을 경우 0 type 선택으로 이미 프로토콜을 알기 때문에 명시적인 용도로 지정 프로토콜 정보 지정 - IPPROTO_TCP(T..

  • format_list_bulleted Network/Socket
  • · 2023. 5. 3.
  • textsms
  • navigate_before
  • 1
  • navigate_next
전체 카테고리
  • 분류 전체보기 (31)
    • Front-End (10)
      • JavaScript (7)
      • Vue.js (0)
      • React.js (1)
      • Function (2)
    • Back-End (0)
      • Java (0)
    • Network (8)
      • Network (1)
      • Socket (7)
    • Data Analysis (1)
      • Web Crawling (1)
    • Algorithm (1)
    • Coding Test (3)
    • Error (8)
최근 글
인기 글
태그
  • #Linux_Socket
  • #javascript
  • #백준
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바