Note that there are some explanatory texts on larger screens.

plurals
  1. POConnect two client sockets
    primarykey
    data
    text
    <p>Let's say Java has two kind of sockets:</p> <ul> <li>server sockets "ServerSocket"</li> <li>client sockets or just "Socket"</li> </ul> <p>Imagine the situation of two processes:</p> <p>X = Client<br> Y = Server</p> <p>The server process Y : has a "ServerSocket", that is listening to a TCP port<br> The client process X : sends a connection request through a "Socket" to Y.</p> <p>Y: Then the <code>accept()</code> method returns a new client type "Socket",<br> when it occurs, the two Sockets get "interconnected",</p> <p>So: the socket in client process, is connected with the socket in the server process.<br> Then: reading/writing through socket X is like reading/writing through socket Y.<br> Now, two <em>Client</em> Sockets get interconnected!!</p> <p>But...<br> What if I create the two Client sockets in same process, and I want to get them "interconnected" ?</p> <p>... even possible?</p> <p>Let's say how to have two client socket get interconnected without using an intermediate ServerSocket?</p> <p>I've solved it by creating two Threads for continuously reading A and writing B, and other for reading B and writng A...<br> But I think could be a better way... (Those world-energy-consuming threads are not necessary with the client-server approach)</p> <p>Any help or advice would be appreciated!! Thanks</p> <hr> <p><strong>Edit:</strong></p> <p>Example of application: "An existent server application could be converted to a client one", For example VNC server, one client socket connects to the VNC server, and other client socket is created (to connect to a middle server), then the application interconnects the two client resulting the VNC server is a client application! And then, no public IP is needed.</p> <p>VNCServer---MyApp---> |middle server| &lt;---User</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload