Computer Science/네트워크

[컴퓨터네트워크] 13. 응용계층 소개(2)

lumana 2024. 5. 23. 00:20

응용계층 소개(2)


C 반복적 프로그래밍

TCP 반복적 프로그래밍 (서버)

  • Scoket()으로 소켓 생성
  • Bind()로 지정된 서버 주소와 포트 설정
  • Listen()으로 클라이언트로부터의 연결을 기다리는 준비를 함
  • Accept()를 호출하면, 연결을 기다림 (block)
  • Recv()로 데이터 수신
  • Send()로 데이터 송신

TCP 반복적 프로그래밍 (클라이언트)

  • Socket()으로 소켓 생성
  • Connect()로 지정된 서버로 연결 설정 (block)
    • 연결 완료, 혹은 에러 시 block 해제
  • Recv()로 데이터 수신
  • Send()로 데이터 송신

 

Echo 서버 프로그램

 

Echo 클라이언트 프로그램

 

Java 반복적 프로그래밍

주소와 포트

  • InetAddress class
    • Inet4Address class
    • Inet6Address class
  • Port Number : int (32bit)
    • (원래 short 16bit 이지만, int에 넣는다)
    • (16bit의 값이 MSB가 1이면 음수이기 때문에, 양수로 보기 위해서 int에 저장하는 것)
  • InetScoketAddress class
    • (IP + Port)

 

 

UDP 반복 프로그래밍

  • DatagramSocket class
    • send() 메소드
    • receive() 메소드
    • close() 메소드
  • DatagramPacket class
    • getAddress() 메소드
    • getPort() 메소드
    • getData() 메소드
    • getLength() 메소드

 

UDP 서버

 

패킷을 전송하고 수신하기 위해서 Socket을 거친다

 

UDP 서버 프로그램

 

 

 

 

UDP 클라이언트

 

 

 

 

 

TCP 반복적 프로그래밍

  • ServerSocket class : 연결 설정 listen용 소켓
    • Accept() 메소드
    • Bind() 메소드
    • getInetAddress() 메소드
    • getLocalSocketAddress() 메소드
  • Socket class : 데이터 송수신용 소켓
    • Connect() 메소드
    • getInetAddress(), getRemoteAddress() 메소드
    • getPort(), getLocalPort() 메소드
    • getInputStream(), getOutputStream() 메소드

 

 

TCP 서버

 

 

 

 

 

TCP 클라이언트