Windows Client Disconnecting

We’re having a jolly time with our saas clients running the smart client, except for one. The continue to get disconnected and this is causing issues with them. We’ve looked at everything we could and nothing is jumping out at us. Anyone here have any ideas from the last few errors provided below?

2009-07-19 15:54 RMI TCP Connection(13171)-134.215.218.95 ERROR com.servoy.j2db.util.Debug Error flushing the client on Socket.close()
java.net.SocketException: Socket is closed
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.checkEOF(SSLSocketImpl.java:1230)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.checkWrite(SSLSocketImpl.java:1251)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:43)
at com.servoy.j2db.util.rmi.compressing.CompressingOutputStream.flush(CompressingOutputStream.java:8)
at com.servoy.j2db.util.rmi.compressing.CompressingSocket.close(CompressingSocket.java:96)
at sun.rmi.transport.tcp.TCPTransport.closeSocket(TCPTransport.java:500)
at sun.rmi.transport.tcp.TCPTransport.access$200(TCPTransport.java:68)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:845)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
2009-07-19 15:54 RMI TCP Connection(13171)-134.215.218.95 ERROR com.servoy.j2db.util.Debug Error flushing the client on Socket.close()
javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLException: java.net.SocketException: Connection reset
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.checkEOF(SSLSocketImpl.java:1239)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.checkWrite(SSLSocketImpl.java:1251)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:43)
at com.servoy.j2db.util.rmi.compressing.CompressingOutputStream.flush(CompressingOutputStream.java:8)
at com.servoy.j2db.util.rmi.compressing.CompressingSocket.close(CompressingSocket.java:96)
at sun.rmi.transport.tcp.TCPConnection.close(TCPConnection.java:204)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:564)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Caused by: javax.net.ssl.SSLException: java.net.SocketException: Connection reset
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:190)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1591)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1554)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1518)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1463)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:64)
at com.servoy.j2db.util.rmi.compressing.CompressingOutputStream.flush(CompressingOutputStream.java:8)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:124)
at java.io.ObjectOutputStream$BlockDataOutputStream.flush(ObjectOutputStream.java:1784)
at java.io.ObjectOutputStream.flush(ObjectOutputStream.java:691)
at sun.rmi.transport.StreamRemoteCall.releaseOutputStream(StreamRemoteCall.java:96)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:346)
at sun.rmi.transport.Transport$1.run(Transport.java:159)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
… 5 more
Caused by: java.net.SocketException: Connection reset
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:96)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at com.sun.net.ssl.internal.ssl.OutputRecord.writeBuffer(OutputRecord.java:295)
at com.sun.net.ssl.internal.ssl.OutputRecord.write(OutputRecord.java:284)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecordInternal(SSLSocketImpl.java:734)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:722)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)
… 15 more
2009-07-19 15:54 RMI TCP Connection(13171)-134.215.218.95 ERROR com.servoy.j2db.dataprocessing.ClientManager Error getting client info: Proxy[IClient,RemoteObjectInvocationHandler[UnicastRef2 [liveRef: [endpoint:192.168.0.2:3406,objID:[-71fd1b5c:12294c57545:-7ffe, 1181692157315676533]]]]]
java.rmi.ConnectException: Connection refused to host: 192.168.0.2; nested exception is: java.net.ConnectException: Connection timed out
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:601)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:198)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:184)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:110)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:178)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:132)
at $Proxy12.getClientInfo(Unknown Source)
at com.servoy.j2db.dataprocessing.ClientManager.Za(ClientManager.java:157)
at com.servoy.j2db.dataprocessing.SQLEngine.register(SQLEngine.java:532)
at sun.reflect.GeneratedMethodAccessor316.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)
at sun.rmi.transport.Transport$1.run(Transport.java:159)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.net.ConnectException: Connection timed out
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:518)
at java.net.Socket.connect(Socket.java:468)
at java.net.Socket.(Socket.java:365)
at java.net.Socket.(Socket.java:179)
at com.servoy.j2db.util.rmi.ServerTwoWaySocketFactory.createSocket(ServerTwoWaySocketFactory.java:30)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:595)
… 21 more
2009-07-19 15:53 RMI TCP Connection(13165)-134.215.218.95 ERROR com.servoy.j2db.util.Debug Error flushing the client on Socket.close()
java.net.SocketException: Socket is closed
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.checkEOF(SSLSocketImpl.java:1230)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.checkWrite(SSLSocketImpl.java:1251)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:43)
at com.servoy.j2db.util.rmi.compressing.CompressingOutputStream.flush(CompressingOutputStream.java:8)
at com.servoy.j2db.util.rmi.compressing.CompressingSocket.close(CompressingSocket.java:96)
at sun.rmi.transport.tcp.TCPTransport.closeSocket(TCPTransport.java:500)
at sun.rmi.transport.tcp.TCPTransport.access$200(TCPTransport.java:68)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:845)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
2009-07-19 15:53 RMI TCP Connection(13165)-134.215.218.95 ERROR com.servoy.j2db.util.Debug Error flushing the client on Socket.close()
javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLException: java.net.SocketException: Connection reset
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.checkEOF(SSLSocketImpl.java:1239)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.checkWrite(SSLSocketImpl.java:1251)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:43)
at com.servoy.j2db.util.rmi.compressing.CompressingOutputStream.flush(CompressingOutputStream.java:8)
at com.servoy.j2db.util.rmi.compressing.CompressingSocket.close(CompressingSocket.java:96)
at sun.rmi.transport.tcp.TCPConnection.close(TCPConnection.java:204)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:564)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Caused by: javax.net.ssl.SSLException: java.net.SocketException: Connection reset
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:190)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1591)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1554)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1518)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1463)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:64)
at com.servoy.j2db.util.rmi.compressing.CompressingOutputStream.flush(CompressingOutputStream.java:8)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:124)
at java.io.ObjectOutputStream$BlockDataOutputStream.flush(ObjectOutputStream.java:1784)
at java.io.ObjectOutputStream.flush(ObjectOutputStream.java:691)
at sun.rmi.transport.StreamRemoteCall.releaseOutputStream(StreamRemoteCall.java:96)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:346)
at sun.rmi.transport.Transport$1.run(Transport.java:159)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
… 5 more
Caused by: java.net.SocketException: Connection reset
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:96)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at com.sun.net.ssl.internal.ssl.OutputRecord.writeBuffer(OutputRecord.java:295)
at com.sun.net.ssl.internal.ssl.OutputRecord.write(OutputRecord.java:284)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecordInternal(SSLSocketImpl.java:734)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:722)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)
… 15 more
2009-07-19 15:53 RMI TCP Connection(13165)-134.215.218.95 ERROR com.servoy.j2db.dataprocessing.ClientManager Error getting client info: Proxy[IClient,RemoteObjectInvocationHandler[UnicastRef2 [liveRef: [endpoint:192.168.0.2:3405,objID:[77b71ebd:12294c4b36c:-7ffe, -6541728839113142787]]]]]
java.rmi.ConnectException: Connection refused to host: 192.168.0.2; nested exception is: java.net.ConnectException: Connection timed out
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:601)
at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:198)
at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:184)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:110)
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:178)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:132)
at $Proxy12.getClientInfo(Unknown Source)
at com.servoy.j2db.dataprocessing.ClientManager.Za(ClientManager.java:157)
at com.servoy.j2db.dataprocessing.SQLEngine.register(SQLEngine.java:532)
at sun.reflect.GeneratedMethodAccessor316.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)
at sun.rmi.transport.Transport$1.run(Transport.java:159)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.net.ConnectException: Connection timed out
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:518)
at java.net.Socket.connect(Socket.java:468)
at java.net.Socket.(Socket.java:365)
at java.net.Socket.(Socket.java:179)
at com.servoy.j2db.util.rmi.ServerTwoWaySocketFactory.createSocket(ServerTwoWaySocketFactory.java:30)
at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:595)
… 21 more

Thanks,

Chico

What is the network architecture? Is the server on the same network as the clients? Do they use a proxy server to access the server? Do they use HTTP Tunneling?

We have a SaaS server running on CentOS on the Amazon Cloud.

Customer has DSL and running Windows XP.

No http tunneling. I’m not thinking they use a proxy server.

Any ideas?

For any who are anxiously monitoring this thread. ;)

This is from the user’s java console:

Thu Jul 23 13:20:51 EDT 2009
Thu Jul 23 13:21:46 EDT 2009
ERROR - Debug - Signalling channel of the 2 way socket read exception
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at com.sun.net.ssl.internal.ssl.InputRecord.readFully(Unknown Source)
at com.sun.net.ssl.internal.ssl.InputRecord.read(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.AppInputStream.read(Unknown Source)
at com.sun.net.ssl.internal.ssl.AppInputStream.read(Unknown Source)
at com.servoy.j2db.util.rmi.compressing.Zc.Za(Zc.java:36)
at com.servoy.j2db.util.rmi.compressing.Zc.read(Zc.java:1)
at java.io.DataInputStream.readInt(Unknown Source)
at com.servoy.j2db.util.rmi.Zj.run(Zj.java:85)
ERROR - Debug - Trying to reconnect to the server
ERROR - Debug - Reconnected to the server
Thu Jul 23 14:02:37 EDT 2009
Thu Jul 23 14:05:53 EDT 2009
Thu Jul 23 14:15:53 EDT 2009
Thu Jul 23 14:29:44 EDT 2009
Thu Jul 23 14:31:30 EDT 2009
Thu Jul 23 14:43:34 EDT 2009
Thu Jul 23 15:16:45 EDT 2009
Thu Jul 23 15:24:45 EDT 2009
Thu Jul 23 15:37:50 EDT 2009
Thu Jul 23 15:39:02 EDT 2009
ERROR - Debug - Error flushing the client on Socket.close()
java.net.SocketException: Connection closed by remote host
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.checkWrite(Unknown Source)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(Unknown Source)
at com.servoy.j2db.util.rmi.compressing.CompressingOutputStream.flush(CompressingOutputStream.java:8)
at com.servoy.j2db.util.rmi.compressing.CompressingSocket.close(CompressingSocket.java:96)
at com.servoy.j2db.util.rmi.Zk.Za(Zk.java:8)
at com.servoy.j2db.util.rmi.Zk.run(Zk.java:27)
ERROR - Debug - Error flushing the client on Socket.close()
java.net.SocketException: Socket is closed
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.checkEOF(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.checkWrite(Unknown Source)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(Unknown Source)
at com.servoy.j2db.util.rmi.compressing.CompressingOutputStream.flush(CompressingOutputStream.java:8)
at com.servoy.j2db.util.rmi.compressing.CompressingSocket.close(CompressingSocket.java:96)
at com.servoy.j2db.util.rmi.Zk.Za(Zk.java:26)
at com.servoy.j2db.util.rmi.Zk.run(Zk.java:12)
Thu Jul 23 15:59:26 EDT 2009
ERROR - Debug - Signalling channel of the 2 way socket read exception
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at com.sun.net.ssl.internal.ssl.InputRecord.readFully(Unknown Source)
at com.sun.net.ssl.internal.ssl.InputRecord.read(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(Unknown Source)
at com.sun.net.ssl.internal.ssl.AppInputStream.read(Unknown Source)
at com.sun.net.ssl.internal.ssl.AppInputStream.read(Unknown Source)
at com.servoy.j2db.util.rmi.compressing.Zc.Za(Zc.java:36)
at com.servoy.j2db.util.rmi.compressing.Zc.read(Zc.java:1)
at java.io.DataInputStream.readInt(Unknown Source)
at com.servoy.j2db.util.rmi.Zj.run(Zj.java:85)
ERROR - Debug - Trying to reconnect to the server
ERROR - Debug - Reconnected to the server
Thu Jul 23 16:08:38 EDT 2009
Thu Jul 23 16:14:22 EDT 2009
Thu Jul 23 16:25:11 EDT 2009

something is breaking up the connection
Connection reset means that the other side has closed the connections (or something in between)
maybe a router or wifi base station or something that somehow drops the connections?

Thanks Johan… that’s what I’ve been telling the client… sort of. :)

We’ll keep researching and post any interesting finds.

Chico

Our client still cannot get this resolved. We have recommended that they work with their local ISP and/or networking person, but they are getting nowhere and of course, they say it’s our fault.

Does anyone have any examples of encountering this? And if so, what was the issue or setting on the router that was causing the connection to drop? Any help would be greatly appreciated.

what you cant try to play with is lowering the “ApplicationServer.pingDelay” in the adming, network settings page.

so that we ping enough to get the connection alive.

Is it just one client?

other clients are fine?

chico:
Does anyone have any examples of encountering this? And if so, what was the issue or setting on the router that was causing the connection to drop? Any help would be greatly appreciated.

Unfortunately I have a client using Windows who has lots of errors in the log file like you. They don’t get disconnected, but sometimes stuff doesn’t work properly, although not always for the client that was in the log!
I do not have an answer after years of searching. I blame their network, they say it isn’t. I have tried everything that I could find on the forums, but we/they just have to live with it 8-(

I wish I did know the answer… (which is why I’m watching this topic 8-) )

Rafi

It is only this client… but they get the same behavior on both computers. So, I assume it’s the router. Anything you would look at there?

Right now, our ping delay is at 50… I could lower it again, but will have to wait until tonight.

Thanks.

if it is one client that has the problem from his network to the server and others dont have that problem
and the client has the same thing on different computers on that same network then the problem is at the clients network

If connecting through wifi, try a cable.

If that isnt the case, just try a different router that connects to the internet.

Or maybe personal firewall, or virus checker software that has firewall.

Hello All!

I have seen this thread from a few years ago. It describes my problem. Out of 80 users in 65 cities, I have one person that cannot maintain a good connection without “Disconnected from server” error popping up frequently. I have switched to time warner cable for internet there. Have replaced all equipment (dell latitiude laptop new w/ win7, new router, new cable, and cable company installed fresh cable to the building)
That prevented actual hard disconnects, but I’m still getting disconnect errors. I have disabled the windows firewall and also identified the specific ports servoy uses with java (1099) and created an exception on the pc for this also.

I created a “pass-through” in the router for this port also (yes I know that is not safe). Now, using servoy, the “Disconnected…” messages appears for 1-3 seconds and goes away. The staff does not lose the connection long enough to lose data.

BUT, how can I actually fix this so it does not disconnect at all? I know it is this location. I have run out of things to switch / disable. The staff member travels between 2 offices so I cannot set a vpn / static ip.

Any suggestions will be greatly appreciated

Do you have RMI (1099+) port errors in you server log?

My guess is that you need to open up more than just 1099 for RMI. Each open client uses it’s own RMI port number starting at 1099 and going up incrementally from there. Additionally, I’ve seen RMI ports get “stuck” so that they aren’t reused depending on the server setup. Which means for 80 clients I would be opening up at least 1099 to 1199 port range. And even then, restarting Servoy every week or so to clear out the RMI ports on the server if you need to.

Setting up your server to tunnel on port 80 (so all traffic in both directions for all clients goes over port 80) is the other solution.

you don’t need to open any more rmi ports on the server then just one (default 1099)
The server doesn’t expose more ports.

The client has its own rmi port but the server can’t talk to the client directly anyway (99.9% of the time) that’s why we have 2 way socket or the tunnel (http and currently also pure sockets which is quite the same as 2 way)

If you really are constantly getting disconnect errors then something in the middle is killing your connections…
You can try to use the tunnel in Http&Socket mode… and/or you can try to make the ApplicationServer.pingDelay (network admin page) 20 seconds. So that there is constantly a ping between the client and the server.

Johan,

Thanks for the input. I currently have these setting for Network: (see pic)

I will move the ping delay down a bit.

Should any of the other settings be adjusted?

Steve[attachment=0]servoy_error.PNG[/attachment]

as i said, lower the pingDelay to 20 instead of 60

and you can always try to use the Tunnel in http&socket mode, look if that helps

But not all clients disconnect when connecting to that same server? its really only from one location (or 2?)