반응형

오늘은 UDP통신을 마무리 지어보도록 하겠습니다


아이피 : 네트워크 상에서 호스트를 식별할 수 있는 식별정보


*네트워크 전체에서 중복되선 안된다.


-> 집주소


포트: 호스트 상에서 서비스를 식별하는 식별 정보

 ->이름

*호스트 에서만 중복되지 않으면 된다.


server 는 centos6 ip=192.168.219.176

client 는  centos6 ip=192.168.219.144입니다


소켓

 - 입/출력을 하기위한 fd와 비슷한 역할

 - 통신하려는 타입에 맞게 소켓을 생성


많은 언어들이 네트워크통신을 하기 위해서는

소켓을 사용하도록 하고있습니다.


*소켓 프로그래밍 = 네트워크 프로그래밍



서버: 서비스를 요청을 받는쪽


실행 -> 수신대기



#>netstat -anu (udp통신 활성화되어있는 것 보기)

Proto Recv-Q Send-Q Local Address               Foreign Address             State

udp        0      0 0.0.0.0:68  <-포트번호        0.0.0.0:*          




# server

sock.bind(('자기 아이피',10000))

resv=sock.recvfrom(65535)-최대 65535바이트까지 보내겠다


#>vi udp_server.py






클라이언트 : 요청을 하는 쪽


실행-> 송신


# client

sock.sendto("hello".encode()/이 부분은 byte형식으로 들어가야한다,('ip',port))


#>vi udp_client.py



server에서 udp_server.py를 실행해놓고 client에서 udp_client.py를 실행하면


밑에와 같은 결과가 나옵니다



실습


1. 에코서버


클라이언트로부터 전송된 문자열을 그대로 클라이언트에게 다시 돌려준다




2.클라이언트

서버에게 문자열을 전송하고, 서버로부터 들어오는 문자열을 그대로 화면에 출력



결과



이렇게 원하는대로 


client가 보낸걸 server가 다시 되돌려줘서 client에 출력되는걸 볼수 있습니다


읽어주셔서 감사합니다.

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기