728x90
반응형
UDP는 User Datagram Protocol의 약자이다.
UDP의 동작원리는 사용자 PC에서 요청하면 확인절차 이런거 없이 바로 응답, 전송을 실행한다. 호스트간에 신뢰성과 완전성이 없다고 볼 수 있지만, 이 불안전한걸 왜 써? 라고 물어봤을때 속도적 측면에서 빨라서 사용한다고 볼 수 있다. 단점은 패킷 손실이 있다고 볼 수 있는데, 하나의 패킷도 손실되면 안되는 프로토콜에서는 사용하기 힘들고 동영상이나, 소리쪽에서 자주 이용하는 편이다.
파이썬을 통해 간단한 예제로 살펴보자.
[클라이언트]
from socket import *
serverName = 'localhost'
serverPort = 65000
clientSocket = socket(AF_INET, SOCK_DGRAM)
message = input('Input lowercase sentence:')
clientSocket.sendto(message.encode(), (serverName, serverPort))
modifiedMessage, serverAddress = clientSocket.recvfrom(2048)
print (modifiedMessage.decode())
clientSocket.close()
[서버]
from socket import *
serverPort = 65000
serverSocket = socket(AF_INET, SOCK_DGRAM)
serverSocket.bind(('', serverPort))
print ('The server is ready to receive')
while True:
message, clientAddress = serverSocket.recvfrom(2048)
modifiedMessage = message.decode().upper()
serverSocket.sendto(modifiedMessage.encode(),
clientAddress)
728x90
반응형
'Python' 카테고리의 다른 글
[Python] K-Means 알고리즘 구현(2) (0) | 2023.10.29 |
---|---|
[Python] K-Means 알고리즘 구현(1) (1) | 2023.10.29 |
[python] Txt파일을 읽어서 알파벳 갯수만큼 정렬하여 암호화 및 복호화하는 방법 (0) | 2023.10.08 |
[Python] 얼굴이미지로 나이분류하기 (0) | 2023.06.25 |
무작위로 학생 성적 데이터 생성하기 (0) | 2023.06.18 |