You don't own your TTY for some reason. Did you use
su to change to that user from another user? Normally the TTY is owned by the person who originally logs into that terminal.
There's a neat trick to fix this (other than changing the permissions on the /dev/pts/0 file by the user who originally logged in), the
bsdutils package has a program called
script which, when run, acts something like a keylogger, saving both what you type and what programs print. It starts another shell and allocates another pseudotty for that shell in order to record all this, so if you run
script /dev/null it will create a new pseudotty with proper permissions, and start recording everything on it to /dev/null. Then you will be able to use screen to reattach your session.
As for "sockets", this is screen's term for the named pipe files (also known as FIFOs) in
prw------- 1 derf derf 0 Jun 23 22:42 30029.pts-0.server
When you first start screen, this pipe file is created in order to connect the
screen process you are using to view the displays with the background
screen process (usually renamed
SCREEN) the programs are actually running in. When you run
screen -r, the screen process you are running opens this pipe to talk to the background screen process.