소켓 프로그래밍도 마찬가지로 클로우즈를 이용해서 소켓을 닫는다.
파일을 열고 파일을 입출력한다음에 클로우즈로 파일을 닫는다.
리시브 센드등의 함수를 이용해서 데이타를 전송하거나 수신한 다음에 클로우즈를 통해서 파일을 닫는다.
통신을 하기위해서
전화기 구입 , ->소켓생성
전화번호 할당, ->아이피주소할당
케이블에 연결, ->연결요청 대기 상태
수화기를 든다, ->연결수락 세션형성 데이타 주고받고 상태
전화걸려고하는데 필요한것은 전화기가 필요하다 (소켓의 생성을 요구한다)
#include <sys/types.h>
#include <sys/socket.h>
int socket (int domain, int type, int protocol)
전화번호를 요구, 아이피 주소랑 포트 번호
#include <sys/socket.h>
int bind(int sockfd, struct sockaddr *myaddr, int addrlen)
클라이언트는 바인딩을 해줄피요가 자기가 접속할 포트번호랑 주소만알면되지 포트를 열지 않아도된다.
전화기를 꼽고 전화가 오기를 기다리는거(연결요청대기 상태로의 진입)
#include <sys/socket.h>
int listen(int sockfd, int backlog)
전화가 와서 수락상태 (억셉트를 호출)
#include <sys/socket.h>
int accept(int sockfd, struct sockaddr *addr, int *addrlen)
전화를 걸고 싶은데 무엇이 필요합니까?
소켓의 생성
#include <sys/socket.h>
int connect(int sockfd, struct sockaddr *serv_addr, int addrlen)