본문 바로가기
cs공부/네트워크프로그래밍

네트워크프로그래밍 - XML형식으로 패킷 정의 +) XML, 마크업 설명

by 코딩하는 돼징 2023. 8. 19.
반응형

XML이 뭔가요?

eXtensible Markup Language약자로 데이터를 구조화하고 표현하기 위한 마크업 언어이다.

태그를 이용해서 데이터를 기술한다.

<tag> </tag>

태그에 추가 정보를 제공하기 위해 속성(attribute)를 사용할 수 있다.

<animal = name "Piggy", weight = "33">

마크업이 뭔가요?

마크업은 문서나 데이터의 구조와 의미를 표시하기 위해 사용되는 표기법이다. 이는 데이터를 구조화하고 표현하는데 사용되며 컴퓨터나 사람 모두가 이해할 수 있는 방식으로 전달하는데 사용된다.

01 텍스트 마크업

텍스트 문서내에서 특정 요소를 나타내기 위해 사용된다. 대표적인 예로 HTML(HyperText Markup Language)이 있다. 이는 웹페이지의 구조와 내용을 정의하며 태그를 사용하여 텍스트나 이미지등을 배치한다.

02 문서 마크업

문서 전체의 구조와 내용을 표시하는데 사용된다. 대표적인 예로 XML(eXtensible Markup Language)이 있다. XML은 데이터를 계층적인 구조로 나타내며 자신만의 태그를 정의하여 데이터를 표시할 수 있다.


패킷의 정보를 XML형식으로 작성하면 어떤 장점이 있나요?

01 기존 코드

class PlayerInfoReq
{
    public long playerId;
    public string name;
    public struct SkillInfo
    {
        public int id;
        public short level;
        public float duration;
    }
}

02 XML형식

XML은 가독성(데이터의 구조와 관계가 명시적)이 높고 필요할때 언제든지 새로운 요소나 속성을 추가하여 데이터를 확장할 수 있다. 또한 독립적으로 사용할 수 있다.

<?xml version="1.0" encoding="utf-8" ?>
<PDL>
	<packet name ="PlayerInfoReq">
		<long name =" playerId">
		<string name ="name">
		<list name =" skill">
			<int name ="id"/>
			<short name ="level"/>
			<float anme ="duration"/>
		</list>
		</string>
		</long>
	</packet>
</PDL>

 

 

 

 

 

 

반응형

댓글