el "&" va por que se esta pasando un parametro por referencia

cosa que los cambios que haga en la variable $socket dentro de la funcion se mantengan fuera de ella
un ejemplo seria asi
var $sock = new CI_Sockets();
var $socket;
$sock->createSock("server","25",$socket);
Cuando termine de ejecutarse la funcion la variable $socket sera un socket creado osea ya con la conexion al servidor y puerto especificado
y podras usar las funciones get y up tanto para enviar datos como recogerlos .
Saludos