게임서버를 만들 때 네트워크 통신 부분에서 직렬화 역직렬화가 필요하다. 그때 c#에서 MessagePack을 사용하면 아주 편리하게 사용 직렬화 역직렬화가 가능하다 이것이 아니면 보내쪽에 맞게 파싱작업도 해야해서 힘들다.
neget에서 messagepack을 설치하면 바로 사용가능하다.
예제
// See https://aka.ms/new-console-template for more information
using MessagePack;
class Program
{
static void Main(string[] args)
{
Student student = new Student()
{
Name = "범범조조",
Age = 29,
Score = 77,
Grade = "C+"
};
byte[] bytes = MessagePackSerializer.Serialize(student);
Student student2 = MessagePackSerializer.Deserialize<Student>(bytes);
Console.WriteLine($"{student2.Name} , {student2.Age}, {student2.Score}, {student2.Grade}");
Console.WriteLine();
// JSON 변경
var json = MessagePackSerializer.ConvertToJson(bytes);
Console.WriteLine(json);
public int SendBuffer { get; set; }
}
}
[MessagePackObject]
public class Student
{
[Key(0)]
public string Name { get; set; }
[Key(1)]
public int Age { get; set; }
[Key(2)]
public int Score { get; set; }
[Key(3)]
public string Grade { get; set; }
}
'c#' 카테고리의 다른 글
추상 vs 인터페이스 (0) | 2022.12.05 |
---|---|
c#의 init access 문법과 top level (0) | 2022.07.24 |
Immutable (0) | 2022.07.07 |
readonly vs const (0) | 2022.07.06 |
Delegate, Property, nullable, exception, event (0) | 2022.07.03 |