func NewPacketConn() (*PacketConn, error) {
	remoteAddr, err := net.ResolveTCPAddr("tcp", DefaultPacketConnHost)
	if err != nil {
		return nil, err
	}
	conn, err := net.DialTimeout("tcp", remoteAddr.String(), PacketConnTimeout)
	if err != nil {
		return nil, err
	}
	return &PacketConn{conn: conn}, nil
}
NewPacketConn creates a PacketConn connected to the default server.
package cbyge
import (
	"bytes"
	"io"
	"net"
	"time"
	"github.com/pkg/errors"
)
const DefaultPacketConnHost = "cm.gelighting.com:23778"
const PacketConnTimeout = time.Second * 10
type PacketConn struct {
	conn net.Conn
}