소켓 통신

Jiyeong·2022년 1월 25일
0

JAVA

목록 보기
7/31

소켓은 ip 주소와 포트 번호를 갖고 있는 인터페이스

소켓 통신 주요 함수:

  1. socket(int domain, int type, int protocol)
    : 소켓을 만드는 함수로 반환 값은 파일 디스크립터. 실패시 -1 반환.

  2. connect(int fd, struct sockaddr *remote_host, socklen_t addr_length)
    : 원격 호스트(원격 컴퓨터)와 연결하는 함수. 연결된 정보는 remote_host에 저장되며, 성공시 0, 오류시 -1 반환.

  3. bind(ift fd, struct sockaddr *local_addr, socklen_t addr_length)
    : fd로 넘겨지는 소켓과 이 프로세스를 바인딩 -> 해당 프로세스는 소켓을 통해 다른 컴퓨터로부터 연결을 받아들임.

  4. listen(int fd, int backlog_queue_size)
    : 소켓을 통해 들어오는 연결을 들음. backlog_queue_size만큼 연결 요청을 큐에 넣음. 성공시 0, 오류시 -1 반환.

  5. accept(int fd, sockaddr remote_host, socklen_taddr_length)
    : 어떤 컴퓨터에서 이 컴퓨터로 연결시 연결을 받아들임. 연결된 원격 컴퓨터의 정보는 remote_host에 저장됨.

  6. send(int fd, void* buffer, size_t n, int flags)
    : buffer를 소켓 파일 디스크립터인 fd로 전송. 보낸 바이트 수를 반환.

  7. recv(int fd, void* buffer, size_t n, int flags)
    : send 함수와 사용법 거의 비슷. n 바이트를 buffer로 읽음. 성공시 받은 바이트 수 반환.

출처:
리눅스 소켓 통신

Socket 클래스의 주요 메서드 :

ServerSocket:

출처:
소켓 프로그래밍

profile
깃스타가 되고 싶은 벨플루언서

0개의 댓글