Solved

opening sockets behind a firewall

Posted on 1997-11-12
3
173 Views
Last Modified: 2010-04-16
Is there any way (other than using the usual http socket,
I think it is port 80 or 8080) to communicate across a firewall which exist on client's side? If I'm using a socket
for a port # like 1833 ? And if it's absolutelly impossible,
how can the server (or the applet) determine if the client
is running behind a firewall?
0
Comment
Question by:jfbeaulieu
3 Comments
 

Author Comment

by:jfbeaulieu
ID: 1230460
Edited text of question
0
 
LVL 3

Accepted Solution

by:
gwalters earned 100 total points
ID: 1230461
It depends on how their firewall is configured.  It may allow the user's applet to connect on any port (in other words, it's only there to prevent people from the outside coming in), or it may only allow certain ports (it's there to also restrict people on the inside).

The applet can tell when the connect fails.  At that time, it could call showDocument to show the user a web page that tells them what went wrong.
0
 
LVL 4

Expert Comment

by:rembo
ID: 1230462

Using sockets to connect back through a firewall
is not going to work.  You have a couple of choices
here.  You can use CORBA.  The IIOP that's bundled
with Navigator4 works through HTTP.  So you could
use Java/CORBA objects.  I can send you a pointer if
you'd like.  Hoewver, this will only work in the
newer browsers.

Another option is to create a server process that
manages the socket connections for you.

I've created a telnet client/server app that works
through firewalls by using only HTTP.  The client
applet sends it's connect info in a POST operation
to the server.  The server then creates and manages
the socket for the client.  I can send you a pointer
on that if that will help as well.

A final option is to use some off the shelf middleware.

Take a look at www.tempestsoft.com, they have APIs for
messaging software in Java.

Hope that helps,

-Tony

0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

For customizing the look of your lightweight component and making it look opaque like it was made of plastic.  This tip assumes your component to be of rectangular shape and completely opaque.   (CODE)
Java Flight Recorder and Java Mission Control together create a complete tool chain to continuously collect low level and detailed runtime information enabling after-the-fact incident analysis. Java Flight Recorder is a profiling and event collectio…
Viewers will learn about the different types of variables in Java and how to declare them. Decide the type of variable desired: Put the keyword corresponding to the type of variable in front of the variable name: Use the equal sign to assign a v…
This video teaches viewers about errors in exception handling.

773 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question