Mathias Dietz
2005-08-11 14:05:15 UTC
there is no way to make a clean disconnect from a share after doing some
stuff .
E.g.
System.out.println("CONNECT TO: smb://" + ip + "/smb_control/");
SmbFile smb =new SmbFile("smb://;:@" + ip+ "/smb_control/");
String[] sm = smb.list();
System.out.println("Finished !");
//here close the SMBSession , Transport
The only way to disconnect, seems to be the socket timeout (
jcifs.smb.client.soTimeout) but
this generates ugly error messages on the server :
Aug 11 15:30:17 back1 smbd[30618]: write_socket: Error writing 43 bytes
to socket 26: ERRNO = Broken pipe
I would prefer a disconnect() method in SmbFile which does something like:
/**
* Disconnect from server.
* WARNING! Closes the SMBTransport and all active SMBSession's.
* Should only be called if no other SMBSession is alive or required.
* @param boolean hard , If false close only if no active request is
outstanding.
*/
public void disconnect(boolean hard){
tree.session.transport.disconnect(hard);
}
or a transport_idle_timeout , which makes a clean disconnect before closing
the socket.
@Michael: Would you kindly implement such a function , or do you accept a
patch ?
mit freundlichen Grüßen / best regards
Mathias Dietz
------------------------------------------------------------------------
Software Development Dept. A182
IBM Deutschland GmbH
Hechtsheimer Strasse 2 Geb.83
D-55131 Mainz
Phone (+49)-6131-84-2027
Fax (+49)-6131-84-3111
E-Mail : ***@de.ibm.com
IBM Certified Professional Server Specialist
------------------------------------------------------------------------
Visit Open Enterprise System Virtualization:
IBM intranet ---> http://w3.ais.mainz.de.ibm.com/stonehenge/
Internet ---> http://www-5.ibm.com/services/de/its/filestore.html
stuff .
E.g.
System.out.println("CONNECT TO: smb://" + ip + "/smb_control/");
SmbFile smb =new SmbFile("smb://;:@" + ip+ "/smb_control/");
String[] sm = smb.list();
System.out.println("Finished !");
//here close the SMBSession , Transport
The only way to disconnect, seems to be the socket timeout (
jcifs.smb.client.soTimeout) but
this generates ugly error messages on the server :
Aug 11 15:30:17 back1 smbd[30618]: write_socket: Error writing 43 bytes
to socket 26: ERRNO = Broken pipe
I would prefer a disconnect() method in SmbFile which does something like:
/**
* Disconnect from server.
* WARNING! Closes the SMBTransport and all active SMBSession's.
* Should only be called if no other SMBSession is alive or required.
* @param boolean hard , If false close only if no active request is
outstanding.
*/
public void disconnect(boolean hard){
tree.session.transport.disconnect(hard);
}
or a transport_idle_timeout , which makes a clean disconnect before closing
the socket.
@Michael: Would you kindly implement such a function , or do you accept a
patch ?
mit freundlichen Grüßen / best regards
Mathias Dietz
------------------------------------------------------------------------
Software Development Dept. A182
IBM Deutschland GmbH
Hechtsheimer Strasse 2 Geb.83
D-55131 Mainz
Phone (+49)-6131-84-2027
Fax (+49)-6131-84-3111
E-Mail : ***@de.ibm.com
IBM Certified Professional Server Specialist
------------------------------------------------------------------------
Visit Open Enterprise System Virtualization:
IBM intranet ---> http://w3.ais.mainz.de.ibm.com/stonehenge/
Internet ---> http://www-5.ibm.com/services/de/its/filestore.html