본문 바로가기

UDP7

UDP 클라이언트 프로그램 UDP 클라이언트 예제 - UDP Client example 전체 소스 코드 #include #include #include #include #include #include #include #define PORT 9998 int main(void){ int sock; struct sockaddr_in target_addr; char recv_buffer[1024]; int recv_len; int addr_len; const char *msg = "hello network!"; if((sock = socket(AF_INET, SOCK_DGRAM, 0)) < 0){ perror("socket "); return 1; } memset(&target_addr, 0x00, sizeof(target_addr));.. 2017. 6. 12.
UDP 서버 예제 프로그램 UDP 서버 예제 프로그램 - UDP server example 전체 소스 코드 #include #include #include #include #include #include #include #define PORT 9999 int main(void){ int sock; struct sockaddr_in addr, client_addr; char recv_buffer[1024]; int recv_len; int addr_len; if((sock = socket(AF_INET, SOCK_DGRAM, 0)) 2017. 6. 12.
UDP 프로토콜 OSI 7 Layer 중 4계층에 해당되는 전송계층에서 2가지 대표적인 프로토콜은 TCP와 UDP라는 것을 다들 알고 있을 것이다.그 중에서 이제 UDP를 공부할 차례이다. UDP(User Datagram Protocol) 프로토콜은 인터넷 주요 프로토콜 중 하나로 OSI 모델에서 TCP와 동일하게 Transport Layer에서 사용되는 통신 규약으로 다른 컴퓨터와 데이터를 주고받기 위한 통신 프로토콜 중 하나이다. UDP를 사용하난 서비스에는 DNS, IPTV, VoIP, TFTP, IP 터널 그리고 게임 등이 있으며 여러 특성을 가지게 된다.- 효율과 속도 -TCP 프로토콜과 비교할 때 UDP프로토콜의 가장 큰 강점은 프로토콜의 단숨함에서 시작한다. UDP프로토콜은 TCp프로토콜과 다르게 데잍터를 .. 2017. 6. 12.
윈도우 소켓 에러처리 (FormatMessage) 윈도우 환경에서는 FormatMessage 함수와 WSAGetLastError 함수를 이용하여 에러정보를 확인할 수 있다. 소켓 관련 함수를 사용하다가 발생한 에러 번호를 확인하기 위해서는 WSAGetLastError() 함수를 이용해야 한다. #include int WSAGetLastError(void); 이 함수를 이용하여 에러 번호를 리턴하게 되는데, 그 번호를 이해하기는 어렵다. 이 정수형 값을 이해할 수 있는 문자열 형태로 변환해는 주는 함수가 바로 FormatMessage() 함수이다. DWORD WINAPI Format Message( _In_ DWORD dwFlags, _In_opt LPCVOID lpSource, _In_ DWORD dwMessageID, _In_ DWORD dwLangu.. 2017. 6. 11.
TCP 에코 서버 (윈도우) TCP 서버 & 클라이언트 예제 - TCP server & clinet example 리눅스 버전 및 자세한 기본적인 설명은 TCP 에코 서버 & 클라이언트 (리눅스) 2017. 6. 11.
bind 함수 Windows #include Linux #include #include Function Prototype int bind(int sockfd, const struct sockaddr *addr, socklen_t addrlen); bind함수는 서버에서 소켓 연결에 사용되는 주소를 소켓에 할당하기 위해서 사용되는 함수이다. 첫 번째 인자는 소켓을 생성한 후 리턴되는 소켓 디스크립터. 두 번째, 세번째 인자는 connect함수에서 설명한 sockaddr 구조체의 주소값과 구조체의 길이이다. connect()함수를 호출하면서 전달하는 sockaddr 구조체의 주소값은 서버의 IP및 PORT번호가 저장된 구조체의 주소값이지만, bind 함수에서 사용되는 주소값은 소켓 디스크립터에 할당하는 즉, 연결받고자 하.. 2017. 3. 5.