This commit is contained in:
xvzc 2022-05-12 21:21:54 +09:00
parent 8ef36894b7
commit 8f03e79849

View File

@ -1,7 +1,7 @@
package net
import (
"io"
"errors"
"net"
"time"
@ -70,45 +70,27 @@ func (conn *Conn) WriteChunks(c [][]byte) (n int, err error) {
}
func (conn *Conn) ReadBytes() ([]byte, error) {
// ret := make([]byte, 0)
// buf := make([]byte, BUF_SIZE)
ret := make([]byte, 0)
buf := make([]byte, BUF_SIZE)
// for {
// n, err := conn.Read(buf)
// if err != nil {
// switch err.(type) {
// case *net.OpError:
// return nil, errors.New("timed out")
// default:
// return nil, err
// }
// }
// ret = append(ret, buf[:n]...)
// if n == 0 {
// return nil, io.EOF
// }
// if n < BUF_SIZE {
// break
// }
// }
buf := make([]byte, 0, 4096) // big buffer
tmp := make([]byte, 256) // using small tmo buffer for demonstrating
for {
n, err := conn.Read(tmp)
n, err := conn.Read(buf)
if err != nil {
if err != io.EOF {
switch err.(type) {
case *net.OpError:
return nil, errors.New("timed out")
default:
return nil, err
}
}
ret = append(ret, buf[:n]...)
if n < BUF_SIZE {
break
}
buf = append(buf, tmp[:n]...)
}
return buf, nil
return ret, nil
}
func (lConn *Conn) HandleHttp(p *packet.HttpPacket) {