python 3 UDP 프로 토 콜 을 실현 하 는 서버 와 클 라 이언 트

Python 의 socket 모듈 에 있 는 UDP 프로 토 콜 을 이용 하여 간단 한 서버 와 클 라 이언 트 를 작성 합 니 다.네트워크 프로 그래 밍 에서 UDP 의 응용 을 설명 하기 위해 서 는 도형 화 를 쓰 지 않 고 두 컴퓨터 에서 각각 UDP 의 클 라 이언 트 와 서버 를 켜 면 된다.
UDP:사용자 데이터 보고 프로 토 콜 은 연결 되 지 않 은 프로 토 콜 입 니 다.이 프로 토 콜 을 사용 하려 면 두 개의 프로그램 이 먼저 연결 을 만 들 필요 가 없다.UDP 프로 토 콜 은 오류 복 구 를 제공 하지 않 고 데이터 재 전송 을 제공 할 수 없 기 때문에 이 프로 토 콜 은 데이터 전송 안전성 이 떨어진다. 
클 라 이언 트
python 3 은 바 이 너 리 데이터 만 송 수신 할 수 있 으 며,명시 적 코드 가 필요 합 니 다.

from socket import *

host = '192.168.48.128' #          ip
port = 13141 #      10000 ,    
bufsize = 1024 #      

addr = (host,port) #     
udpClient = socket(AF_INET,SOCK_DGRAM) #     

while True:
  data = input('>>> ')
  if not data:
    break
  data = data.encode(encoding="utf-8") 
  udpClient.sendto(data,addr) #     
  data,addr = udpClient.recvfrom(bufsize) #         
  print(data.decode(encoding="utf-8"),'from',addr)

udpClient.close()
서버
똑 같이 디 스 플레이 코드 가 필요 합 니 다.

from socket import *
from time import ctime

host = '' #     ip
port = 13141 #      
bufsize = 1024
addr = (host,port) 

udpServer = socket(AF_INET,SOCK_DGRAM)
udpServer.bind(addr) #    

while True:
 print('Waiting for connection...')
 data,addr = udpServer.recvfrom(bufsize) #         
 #    
 data = data.decode(encoding='utf-8').upper()
 data = "at %s :%s"%(ctime(),data)
 udpServer.sendto(data.encode(encoding='utf-8'),addr)
 #    
 print('...recevied from and return to :',addr)

udpServer.close()
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기