데이터 구문 분석



어제는 UDP와 TCP의 차이점에 대해 썼습니다. 오늘 우리는 구문 분석을 통해 네트워크를 통해 다양한 데이터 유형을 포함하는 정보를 보내는 것에 대해 이야기할 것입니다.



데이터 문자열은 쉽게 바이트로 인코딩할 수 있기 때문에 네트워크를 통해 쉽게 보낼 수 있지만 문자열, 정수, 부동 소수점, 튜플, 사전 등과 같은 다양한 데이터 유형을 포함하는 많은 양의 데이터에 대해서는 동일하다고 말할 수 없습니다.



예를 들어, 네트워크를 통해 전송해야 하는 정보로 문자열, 날짜, 튜플을 포함하는 데이터가 있는 경우 이 모든 데이터를 바이트로 변환하고 네트워크를 통해 전송하는 단일 메시지에 포함해야 할 수 있습니다. 데이터를 수신하면 서버는 데이터를 다시 개별 구성 요소로 분리하고 해독합니다.
데이터를 구성 요소로 다시 분리하는 프로세스를 구문 분석이라고 합니다.
  • 첫 번째 단계는 다른 데이터 유형을 문자열로 변환하는 것입니다.
    정수를 문자열로 변환str(123)
  • 서로 다른 데이터를 구분하기 위해 변환된 데이터를 ","와 같은 구분 기호가 있는 단일 변수로 묶습니다.

  • data1 = “hello”
    data2 = 123
    
    #convert the integer to string
    data2 = str(data2)
    #encompassing data into single variable
    message = data1 + “,” data2
    

  • 메시지message.encode()를 인코딩하고 전송합니다socket.send(msg).

  • 서버가 메시지를 수신했으며 이제 구문 분석합니다.

    #recieve and decode message
    message = socket.recv(1024)
    msg = message.decode()
    
    #split the message using the split function in python
    #remember that we used “, ” to separate data
    parts = msg.split(“,”)
    #data1 is a string
    data1 = str(parts[0])
    #data2 is an int
    data2 = int(parts[1])
    
    


    따라서 기본적으로 구문 분석은 단일 메시지로 전송하고 수신 시 구성 요소로 다시 분리하여 원래 데이터 유형으로 반환하는 균일한 데이터 유형(이 경우 문자열)으로 전송되도록 모든 데이터를 변경하는 것입니다.



    이것이 구문 분석에 대한 기본 이해를 제공하기를 바랍니다. 의견 섹션에 질문을 하거나 제안을 남기거나 저에게 연락하십시오.


    image

    좋은 웹페이지 즐겨찾기