aboutsummaryrefslogtreecommitdiff
path: root/tde/tde.go
diff options
context:
space:
mode:
Diffstat (limited to 'tde/tde.go')
-rw-r--r--tde/tde.go39
1 files changed, 39 insertions, 0 deletions
diff --git a/tde/tde.go b/tde/tde.go
new file mode 100644
index 0000000..9413f09
--- /dev/null
+++ b/tde/tde.go
@@ -0,0 +1,39 @@
+package tde
+
+import (
+ "encoding/binary"
+ "log"
+ "net"
+)
+
+var nbo = binary.BigEndian // Network Byte Order
+
+func Send(c net.Conn, b []byte) {
+ size := int16(len(b))
+ if err := binary.Write(c, nbo, size); err != nil {
+ log.Fatal(err)
+ }
+ if err := binary.Write(c, nbo, b); err != nil {
+ log.Fatal(err)
+ }
+}
+
+func Recv(c net.Conn) (b []byte) {
+ var size int16
+ if err := binary.Read(c, nbo, &size); err != nil {
+ log.Fatal(err)
+ }
+ b = make([]byte, size)
+ if err := binary.Read(c, nbo, b); err != nil {
+ log.Fatal(err)
+ }
+ return
+}
+
+func Dial(service string) net.Conn {
+ conn, err := net.Dial("tcp", service)
+ if err != nil {
+ log.Fatal(err)
+ }
+ return conn
+}