server 쪽
listen(serv_sock, 5)
listen - 클라이언트의 커넥트가 올 때까지 기다림
5 = 연결 요청 큐의 크기
아직 처리하지 않았지만 앞에 연결이 끝난 후 연결 대기 중인 것
accept - 연결 요청이 올 경우 받는다
serv_sock로부터 클라이언트의 주소 clnt_adr에 집어넣어서
clnt_adr_sz 사이즈도 받음
server | client |
while loop | |
read | write |
write | read |
-read/write 짝을 맞춰야함
연결 요청과 read/write 하는 소켓이 다름
요청을 받아들일 때 통신용 소켓을 새로 만들어서 줌
accept의 경우 그 때 만들어진 소켓을 받아서 함
EOF는 클라이언트 쪽에서 보내줌 // 꼭 이렇다는 규칙은 없음
===============================================================
client 쪽
주소를 주면 연결
클라이언트 쪽은 소켓 하나로 read/write를 다 함
주소 쓸 때는 타입 변환 struct sockaddr* //client, server 둘다
연결 된 후에 클라이언트가 먼저 write 해주고
메아리 쳐 온 것을 read
fputs - 화면에다가 string을 써줌
read 한 것 확실히 읽고 싶다면 문자열 한것에다가 0을 넣음
message[str_len] = 0
client는 테스트 용이므로 5개 이후엔
서버도 종료
'프로그래밍 > server' 카테고리의 다른 글
Tomcat Context 경로 설정 (0) | 2022.02.10 |
---|---|
inet_addr (0) | 2019.05.08 |