================================ Outline ====================================
네트워크 연결
----------------------------------------------------------------------------
joinc.co.kr로 접속한 후,
인터넷 소켓(Internet socket)이란 네트워크로 연결되어 있는 컴퓨터의 통신의 접점에 위치한 통신 객체다. 네트워크 통신을 위한 프로그램은 소켓을 생성하고, 이 소켓을 통해서 서로 데이터를 교환한다.
TCP/IP (Transmission Control Protocol/Internet Protocol)
socket 함수를 사용하기 위한 헤더 파일
<sys/types.h> & <sys/socket.h>
int socket(int domain, int type, int protocol)
joinc 예제에 있는
(server_sockfd = socket(AF_INET, SOCK_STREAM, 0)
파일 내 찾고 싶은 문자열이 있을 경우 'grep'키워드를 사용한다.
socket.h에 AF_INET이 정의되어 있는 것을 확인할 수 있다.
#define AF_INET PF_INET
#define PF_INET 2 /* IP protocol family. */
// ‘TCP/IP 일러스트레이터’ 네트워크 관련한 전문서적
‘첫 번째 인자인 int domain은 인터넷 프로토콜을 사용 한다’는 뜻이다.
// 메모리에 있는 프로그램이 실행되면 프로세스이다.
컴퓨터 내부에서 데이터를 공유하는 것을 IPC(internal process communication)라고 한다.
#define PF_ATMPVC 8 /* ATM PVCs. */ ATM - 중계기
두 번째 인자인 SOCK_STREAM은 1을 뜻한다.
SOCK_STREAM = 1, /* Sequenced, reliable, connection-based
- 연속적인, 신뢰할 수 있는, 연결 -> TCP/IP
SOCK_DGRAM = 2, /* Connectionless, unreliable datagrams
- 연결이 필요 없는 방식 -> UDP/IP
UDP(User Datagram Protocol)
SOCK_RAW = 3, /* Raw protocol interface. */
데이터를 보내는 방식 결정
socket()의 반환형은 file descriptor이다.
Server/Client 모델
네트워크를 위한 작업 단계
1. 연결
2. 데이터 송/수신(read/write 함수)
3. 해체(close 함수)
errno.h파일에 대해서 알아보자.
#include <stdio.h> |
perror는 최근에 발생한 오류의 메세지를 출력해주는 함수이고 인자에는 사용자가 출력을 원하는 문자열(const char *)을 넣으면 된다.
'Busan IT > 공장내 Network' 카테고리의 다른 글
Server/Client socket 프로그램 만들기 (0) | 2015.07.13 |
---|---|
소켓 연결 (0) | 2015.07.07 |
프로토콜 계층구조 (0) | 2015.05.22 |
프로토콜 계층, pcap을 활용한 MAC address 표시 (0) | 2015.05.21 |
pcap 사용법 (0) | 2015.05.20 |