Hi to everyone,
I'm using jNetwork library to connect my client app to my server app.
In a LAN connection between client e server works but over internet the connection isn't established.
Using this site: http://checkip.dyndns.com/, i saw what was my ip over internet.
-This is client part
This server part:
When i try to connect over internet i recive this exception:
Waiting for debugger to connect...
Program started.
java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at anywheresoftware.b4a.objects.SocketWrapper$1.run(SocketWrapper.java:140)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
I use port 6881.
I opened that port in firewall also.
I'm using jNetwork library to connect my client app to my server app.
In a LAN connection between client e server works but over internet the connection isn't established.
Using this site: http://checkip.dyndns.com/, i saw what was my ip over internet.
-This is client part
B4X:
Sub connect_MouseClicked (EventData As MouseEvent)
ReceiverSckt.Initialize("ReceiverSocket")
If ReceiverSckt.Connected Or ipAddress.Text = "" Or port.Text = "" Then Return
Try
ip = ipAddress.Text
prt = port.Text
ReceiverSckt.Connect(ip,prt,0)
Wait For ReceiverSocket_Connected(successful As Boolean)
If successful Then
Stream.InitializePrefix(ReceiverSckt.InputStream,True,ReceiverSckt.OutputStream,"Stream")
Else
fx.Msgbox(MainForm,"Connection refused","Connection")
End If
Catch
fx.Msgbox(MainForm,"Connection refused","Connection")
End Try
End Sub
Sub disconnect_MouseClicked (EventData As MouseEvent)
If Not(ReceiverSckt.Connected) Then Return
Stream.Close
ReceiverSckt.Close
End Sub
This server part:
B4X:
Sub AppStart (Args() As String)
Try
poolConnection.Initialize
SenderSckt.Initialize(port,"SenderSocket")
SenderSckt.Listen
Catch
Log(LastException)
End Try
Log("Server IP: "&SenderSckt.GetMyIP)
Log("Ready to send")
Log("Listening...")
StartMessageLoop
End Sub
Private Sub SenderSocket_NewConnection(Successful As Boolean,NewSocket As Socket)
If Not(Successful) Then
Log("Unsuccessful connection from: "&NewSocket.RemoteAddress)
Return
End If
Log("New connection from: "&NewSocket.RemoteAddress)
poolConnection.Put(newStream,NewSocket.RemoteAddress)
SenderSckt.Listen
End Sub
When i try to connect over internet i recive this exception:
Waiting for debugger to connect...
Program started.
java.net.ConnectException: Connection timed out: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at anywheresoftware.b4a.objects.SocketWrapper$1.run(SocketWrapper.java:140)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
I use port 6881.
I opened that port in firewall also.