Index: /neercs/trunk/src/main.c
===================================================================
--- /neercs/trunk/src/main.c	(revision 2595)
+++ /neercs/trunk/src/main.c	(revision 2596)
@@ -263,4 +263,11 @@
             screen_list->s_socket_path = strdup(sockets[i]);
             session = connect_server(screen_list);
+            while(!session && i > 0)
+            {
+                free(screen_list->s_socket_path);
+                i--;
+                screen_list->s_socket_path = strdup(sockets[i]);
+                session = connect_server(screen_list);
+            }
             debug("Connected to session %s", session);
             if(session)
Index: /neercs/trunk/src/attach.c
===================================================================
--- /neercs/trunk/src/attach.c	(revision 2595)
+++ /neercs/trunk/src/attach.c	(revision 2596)
@@ -29,5 +29,5 @@
         dir = "/tmp";
     if(path)
-        snprintf(path, PATH_MAX+1, "%s/neercs.%s%s.sock", dir, session_name, client?"-clt":"");
+        snprintf(path, PATH_MAX+1, "%s/neercs.%s%s.sock", dir, session_name, client?"":".srv");
     return path;
 }
@@ -128,7 +128,7 @@
 
     if(session_name && strlen(session_name)+strlen(dir)+13<PATH_MAX)
-        sprintf(pattern, "%s/neercs.%s.sock", dir, session_name);
+        sprintf(pattern, "%s/neercs.%s.srv.sock", dir, session_name);
     else
-        snprintf(pattern, PATH_MAX, "%s/neercs.*.sock", dir);
+        snprintf(pattern, PATH_MAX, "%s/neercs.*.srv.sock", dir);
     pattern[PATH_MAX] = '\0';
 
