xudp_test.go 787 B

123456789101112131415161718192021222324252627282930313233343536
  1. package xudp
  2. import (
  3. "testing"
  4. "github.com/xtls/xray-core/common"
  5. "github.com/xtls/xray-core/common/buf"
  6. "github.com/xtls/xray-core/common/net"
  7. )
  8. func TestXudpReadWrite(t *testing.T) {
  9. addr, _ := net.ParseDestination("tcp:127.0.0.1:1345")
  10. mb := make(buf.MultiBuffer, 0, 16)
  11. m := buf.MultiBufferContainer{
  12. MultiBuffer: mb,
  13. }
  14. var arr [8]byte
  15. writer := NewPacketWriter(&m, addr, arr)
  16. source := make(buf.MultiBuffer, 0, 16)
  17. b := buf.New()
  18. b.WriteByte('a')
  19. b.UDP = &addr
  20. source = append(source, b)
  21. writer.WriteMultiBuffer(source)
  22. reader := NewPacketReader(&m)
  23. dest, err := reader.ReadMultiBuffer()
  24. common.Must(err)
  25. if dest[0].Byte(0) != 'a' {
  26. t.Error("failed to parse xudp buffer")
  27. }
  28. if dest[0].UDP.Port != 1345 {
  29. t.Error("failed to parse xudp buffer")
  30. }
  31. }