mirror of
https://github.com/net-byte/vtun
synced 2024-03-14 10:50:03 +08:00
21 lines
394 B
Go
21 lines
394 B
Go
package tcp
|
|
|
|
import "net"
|
|
|
|
func splitRead(conn net.Conn, expectLen int, packet []byte) (int, error) {
|
|
count := 0
|
|
splitSize := 99
|
|
for count < expectLen {
|
|
receiveSize := splitSize
|
|
if expectLen-count < splitSize {
|
|
receiveSize = expectLen - count
|
|
}
|
|
n, err := conn.Read(packet[count : count+receiveSize])
|
|
if err != nil {
|
|
return count, err
|
|
}
|
|
count += n
|
|
}
|
|
return count, nil
|
|
}
|