1. 개요
이번학기에 배웠던 네트워크 프로그래밍 개념을 총 집합해서
Linux에서 C로 서버-클라이언트 프로그래밍 모델을 만들어서
간단한 채팅 및 게임이 돌아가는 서버/클라이언트 프로그램을 작성해 보았다.
이번학기 네트워크 프로그래밍 과목의 프로젝트이기도 했다.
2. 수행과정
수행과정을 대략적으로 도식화하여 표현해 보면 아래와 같다.
3. 서버
먼저 서버 소스 이다.
서버 소스에서 유의 깊게 봐야 될 부분은
소켓의 생성 및 설정 과정, 소켓의 바인드 하기 위한 정보들의 구조체를 세팅하는 부분,
epoll의 수행과정, 스트링의 가공 등이다.
스트링의 가공은 프로그래머가 가상의 패킷 세팅을 해주기 위해 필요하다고 할 수 있다.
4. 클라이언트
다음으로 클라이언트 소스이다.
클라이언트에서는 멀티 쓰레드를 이용해 보았다.
멀티 쓰레드의 사용방법과 멀티 쓰레드로 채팅을 처리하는 방법 정도를 유의 깊게 보면 되겠다.
이번학기에 배웠던 네트워크 프로그래밍 개념을 총 집합해서
Linux에서 C로 서버-클라이언트 프로그래밍 모델을 만들어서
간단한 채팅 및 게임이 돌아가는 서버/클라이언트 프로그램을 작성해 보았다.
이번학기 네트워크 프로그래밍 과목의 프로젝트이기도 했다.
2. 수행과정
수행과정을 대략적으로 도식화하여 표현해 보면 아래와 같다.
3. 서버
먼저 서버 소스 이다.
서버 소스에서 유의 깊게 봐야 될 부분은
소켓의 생성 및 설정 과정, 소켓의 바인드 하기 위한 정보들의 구조체를 세팅하는 부분,
epoll의 수행과정, 스트링의 가공 등이다.
스트링의 가공은 프로그래머가 가상의 패킷 세팅을 해주기 위해 필요하다고 할 수 있다.
4. 클라이언트
다음으로 클라이언트 소스이다.
클라이언트에서는 멀티 쓰레드를 이용해 보았다.
멀티 쓰레드의 사용방법과 멀티 쓰레드로 채팅을 처리하는 방법 정도를 유의 깊게 보면 되겠다.
'Programing > Network Programing' 카테고리의 다른 글
[Winpcap] 간단한 스니퍼 프로그램 예제. (1) | 2012.03.27 |
---|---|
[Winpcap] winpcap 시작 레퍼런스 (0) | 2012.03.27 |
[C/C++] Windows ICMP Flood Programing (2) | 2011.05.28 |
소켓의 생성과정 (0) | 2011.01.13 |