nvass at teledomenet.gr
Fri Nov 9 01:16:19 PST 2007
On Thursday 08 November 2007 18:40:58 Bram wrote:
> Nikos Vassiliadis schreef:
> > On Wednesday 07 November 2007 18:02:44 Bram wrote:
> >> Hi all,
> >> Can you change the timeout for a tcp connection ?
> >> I need to do the following: start a tcp connection , unplug the
> >> network cable (it's actually wifi but the effect is the same),send
> >> some data over the connection,wait 20 seconds , reinsert the network
> >> cable and just keep working.
> >> When you normally do this the connection will be dead.
> >> Is there a way in freebsd to change this ? are there parameters wich
> >> you can set so that the above would work (20 seconds without network
> >> can happen) ?
> > TCP using the default FreeBSD settings, can survive
> > 20 secs of inactivity. It can be an application forced
> > timeout. What application/protocol are talking about?
> > Nikos
> This is the more full explanation:
> I have setup a mobile pc to roam across our building.
> By reducing the dwell time and changing the channel list to only the
> channels I use roaming now works within ten seconds en sometimes within
> one or two seconds.
> The previous configuration was with fedora and there I was unable to get
> roaming time under 25 seconds.
> I do have one very annoying problem however and I have no idea how to
> solve it.
> The software uses psycopg (a python postgresql module) wich uses the
> standard system parameters for connections (At least that is what I
> think). -On fedora if the connection gets lost and it takes 30 seconds
> to remake a new connection operation is not interupted, after the 30
> seconds you get the data you've been waiting for.
> -On freebsd however we get it a lot that the connection is "lost", you
> can easily start a new connection wich works fine, but the old
> connection you wore using stops working and the app. hangs (If I had to
> guess I would say that roaming works about 95% of the time and the
> connection is lost about 5% of the time).
> I also get a lot of IFDOWN IFUP messages but this seems normal to me.
> I am now going to program something in twisted using udp to see if this
> works better.
If your app is using SO_KEEPALIVE, you can increase
sysctl net.inet.tcp.keepintvl. You could also trace
the application to see what's going on. Something
ktrace -i $application
More information about the freebsd-questions