Network & Socket Programming (TCP/IP 프로그래밍)


네트워크 프로그래밍은 네트워크로 서로연결된 서로 다른 컴퓨터가 데이터를 서로 주고 받을 수 있도록 하는 것이다.

물리적으로 연결하는 문제는 인터넷이 잘 보급되어 있기 때문에 신경쓰지 않아도 된다. 그렇기 때문에 소프트웨어 적으로만 해결하면된다. 이는 또 운영체제에서 소켓이란 것을 제공 하기 때문에 우리는 그 소켓을 이용만 하면된다.

즉 네트워크 프로그래밍은 소켓 프로그래밍과 동일한 것이다. 생성 순서는 아래와 같다.
  1. socket() 호출 : 소켓 생성
  2. bind() 호출 : IP주소, PORT할당
  3. listen() 호출 : 연결 가능한 상태로 전환
  4. accept() 호출 : 연결 요청 수락
이 때 연결 요청은 클라이언트가하며 수락은 서버가 한다. 즉 소켓을 서버소켓, 클라이언트소켓 으로 구분이 가능할 수 있다. 서버 소켓은 리스닝 소켓이라고도 한다.


클라이언트 소켓에서는 대략적으로 소켓생성과 connect() 기능만 사용하면된다.

컴파일은 c컴파일러지만 리눅스에서 컴파일해야하는 GCC를 사용한다. 사용 방법은 아래와 같다.

gcc [FileName].c -o [exeFileName]

여기서 o는 실행파일의 이름을 정하는 옵션이다.

이후에 서버실행파일을 실행하는 방법은 아래와 같다.

./[exeFileName] 9190

그리고 클라이언트는 아래 코드와 같이 실행하면된다.

./[exeFileName] 127.0.0.1 9190

127.0.0.1은 루프백 주소로 본인의 로컬 컴퓨터의 IP주소이다.



Network & Socket Programming (TCP/IP 프로그래밍) Network & Socket Programming (TCP/IP 프로그래밍) Reviewed by Lifer on 8/30/2018 Rating: 5

댓글 없음:

Powered by Blogger.