Skip to content

Сериализация примитивных типов в набор байтов для последующей отправки по сети ✉️

License

Notifications You must be signed in to change notification settings

GreenWix/binary

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

binary

Сериализация примитивных типов в набор байтов для последующей отправки по сети.

Модуль, необходимый для работы с бинарными протоколами движков GreenWix

Установка

go get github.com/GreenWix/binary

Примеры

package main

import "github.com/GreenWix/binary" 

func main(){
    // int + byte + byte array
    w := binary.AcquireWriter(4 + 1 + 5)
    w.WriteSignedInt32(5835)
    w.WriteByte(124)
    w.WriteByteArray(4, []byte{ 0xAA, 0xBB, 0xCC, 0xDD })
    
    sendToServer(w.Buffer())

    binary.ReleaseWriter(w)
}

func sendToServer(buf []byte){
    // ...code
}
package main

import "github.com/GreenWix/binary" 

func main(){
    r := binary.AcquireReader(getBytesFromServer())

    someInt, err := r.ReadSignedInt32()
    checkErr(err)

    someByte, err := r.ReadByte()
    checkErr(err)

    someByteArrayLen, someByteArray, err := r.ReadByteArray()
    checkErr(err)

    doSomething(someInt, someByte, someByteArrayLen, someByteArray)

    binary.ReleaseReader(r)
}

func checkErr(err error){
    // ...code
}

func getBytesFromServer() ([]byte, int){
    return []byte{ 0x11, 0x22, 0x33, 0x44, 0x55, 0x04, 0x77, 0x88, 0x99, 0xAA }, 10
}

func doSomething(someInt int32, someByte byte, someByteArrayLen byte, someByteArray []byte){
    // ...code
}

About

Сериализация примитивных типов в набор байтов для последующей отправки по сети ✉️

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages