Apply .gitignore rules
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
package bytesSendUtil
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"goutil/debugUtil"
|
||||
"goutil/zlibUtil"
|
||||
)
|
||||
|
||||
// 保存接收的数据用于校验
|
||||
var tcp_recv_msg = make([]byte, 0)
|
||||
|
||||
func init() {
|
||||
debugUtil.SetDebug(true)
|
||||
}
|
||||
|
||||
// 创建socket服务器,保存收到的数据
|
||||
func server(addr string) net.Listener {
|
||||
listener, err := net.Listen("tcp", addr)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
go func() {
|
||||
for {
|
||||
conn, err := listener.Accept()
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
for {
|
||||
buff := make([]byte, 512)
|
||||
_, err := conn.Read(buff)
|
||||
if err != nil {
|
||||
break
|
||||
} else {
|
||||
decompressed, err := zlibUtil.Decompress(buff[4:])
|
||||
if err != nil {
|
||||
panic(err)
|
||||
} else {
|
||||
tcp_recv_msg = append(tcp_recv_msg, decompressed...)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
return listener
|
||||
}
|
||||
|
||||
func Test_tcp(t *testing.T) {
|
||||
// 开启服务器
|
||||
l := server("127.0.0.1:9559")
|
||||
|
||||
tcp, err := NewTCPSender("./test_tcp", "127.0.0.1:9559")
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
// 发送消息
|
||||
tcp.Write([]byte("tcp-msg-1"))
|
||||
time.Sleep(time.Millisecond * 50) // 等待协程发送数据
|
||||
|
||||
// 关闭连接和服务器
|
||||
l.Close()
|
||||
(tcp.(*tcpSender)).conn.Close()
|
||||
|
||||
// 发送消息,此数据会失败
|
||||
tcp.Write([]byte("tcp-msg-2"))
|
||||
// time.Sleep(time.Millisecond * 50)
|
||||
|
||||
// 保存数据
|
||||
tcp.Close()
|
||||
|
||||
// 重启,检查是否重发tcp-msg-2
|
||||
l = server("127.0.0.1:9559")
|
||||
tcp, err = NewTCPSender("./test_tcp", "127.0.0.1:9559")
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
time.Sleep(time.Second * 2)
|
||||
|
||||
if string(tcp_recv_msg) != "tcp-msg-1tcp-msg-2" {
|
||||
t.Error("message error. got " + string(tcp_recv_msg))
|
||||
} else {
|
||||
fmt.Println("TCP OK")
|
||||
}
|
||||
|
||||
tcp.Close()
|
||||
l.Close()
|
||||
}
|
||||
Reference in New Issue
Block a user