'클라이언트 프로그램'에 해당되는 글 1건

  1. 2009.12.18 connect()
2009. 12. 18. 09:30

connect()



TCP 기반의 클라이언트 프로그램의 구현순서는 간단하다
  1. 소켓 생성
  2. 연결 요청
  3. 데이터 송수신
  4. 연결 종료
TCP 기반의 서버 프로그램과 비교해 볼 때 소켓 생성, 데이터 송수신, 연결 종료는 공통되는 부분이고, 다른 부분은 단지 '연결 요청'이다.

서버 프로그램에서 연결 요청 대기를 하고 있을 때 비로소 클라이언트 프로그램에서는 연결 요청을 할 수 있는 것이다. 연결 요청은 'connect()' 함수를 사용한다.

#include <sys/types.h>
#include <sys/socket.h>

int connect (int sockfd, struct sockaddr *serv_addr, int addrlen);

  • sockfd - 통신을 위해 생성한 소켓의 파일 디스크립터
  • serv_addr - 연결 요청을 할 서버의 주소정보를 가진 구조체 변수의 포인터
  • addrlen - 연결 요청을 할 서버의 주소정보를 가진 구조체 변수의 크기

connect() 예제
...
int sock;
struct sockaddr_in serv_addr;
...
// 클라이언트 소켓 생성
sock = socket(PF_INET, SOCK_STREAM, 0);       
...
// connect()로 연결 요청
if(connect(sock, (struct sockaddr* ) &serv_addr, sizeof(serv_addr)) == -1)
...








'Programmings > TCP/IP socket programming' 카테고리의 다른 글

listen() and accept()  (0) 2009.12.16
bind()  (0) 2009.12.15
socket()  (0) 2009.12.15