It might be the way google is closing the socket, not making sure their send queue is clear.

As this shows, there's still data in the recieve buffer when google closes the connection:
Code:
alias httptest {
  sockopen httptest google.com 80
  sockopen -e httptests google.com 443
}

on *:sockopen:httptest*:{
  if ($sockerr) {
    echo 04 -a [SockOpen Error] $sockname $+ : $v1 $sock($sockname).wserr $sock($sockname).wsmsg
  }
  else {
    echo 12 -a [SockOpen] $sockname
    var %a = sockwrite -n $sockname
    %a GET / HTTP/1.0
    %a Host: www.google.com
    %a Connection: close
    %a
  }
}
on *:SOCKWRITE:httptest*:{
  if ($sockerr) {
    echo 04 -a [SockWrite Error] $sockname $+ : $v1 $sock($sockname).wserr $sock($sockname).wsmsg
  }
}

on *:sockread:httptest*:{
  if ($sockerr) {
    echo 04 -a [SockOpen Error] $sockname $+ : $v1 $sock($sockname).wserr $sock($sockname).wsmsg
  }
  else {
    var %r
    sockread %r
    while ($sockbr) sockread -f %r
  }
}

on *:sockclose:httptest*:{
  if ($sockerr) {
    echo 04 -a [SockClose Error] $sockname $+ : $v1 $sock($sockname).wserr $sock($sockname).wsmsg 
  }
  else {
    echo 12 -a [SockClose] $sockname
  }
  echo 03 -a Bytes Send: $sock($sockname).sent - Bytes to send: $sock($sockname).sq
  echo 03 -a Bytes Rcvd: $sock($sockname).rcvd - Bytes to rcvd: $sock($sockname).rq
}

Last edited by FroggieDaFrog; 14/02/12 04:50 AM.

I am SReject
My Stuff