Is it possible to send two TCP fragments back to back - with all the necessary fields set (DF and frag offsets) - through a raw socket created as socket(AF_INET, SOCK_RAW, IPPROTO_TCP), such that I will be able to get an single assembled tcp packet on the other side?

I ask this doubt because Richard Stevens book says so:
"Received UDP packets and received TCP packets are never passed to a raw socket."

If raw sockets cannot receive how can they be read after receipt?