Hi,

Here is how multiplex works with respect to server sockets. The 
MasterServerSocket wraps a real server socket, and when a client connects to it 
(the first time) by calling a VirtualSocket constructor targeted at the 
MasterServerSocket, the MasterServerSocket creates a real socket and creates a 
VirtualSocket associated with that socket.  This is how a multiplex connection 
is created from the client to the server.   

Let's call the multiplex connection MC.  Now, you can attach a 
VirtualServerSocket to either end of MC, which allows new virtual connections 
to be added to MC. To attach a VirtualServerSocket to the server side, you need 
to take an existing VirtualSocket associated with MC and pass it to the 
constructor


  | public VirtualServerSocket(VirtualSocket socket, Map configuration) throws 
IOException
  | 

Then the VirtualServerSocket will be bound to the same host and port as the 
MasterServerSocket, and subsequent connections to that host and port from the 
other end of MC will be handled by the VirtualServerSocket.  That is, new 
virtual connections will be added to the single physical connection.  You can 
see this idea at work in MultiplexServerInvoker.run().

In your situation it sounds like you are restricted to configuring your third 
party library with a server socket factory, and the existing 
VirtualServerSocketFactory probably won't work for you, since it was intended 
for other purposes.  However, you could write your own.  Initialize it with a 
VirtualSocket and then in each createServerSocket() method call the 
VirtualServerSocket constructor shown above. 

anonymous wrote : 
  | - Do I have to create VirtualServerSocket on the client side although I 
don't need any "callbacks", i.e. VirtualSockets on the server connecting 
explicitly to clients? 
  | 

No.  You would need a VirtualServerSocket on the client side only if you 
intended to create virtual connections from the server to the client.

anonymous wrote : 
  | - How to allow multiple physical clients to connect to one 
MasterServerSocket? 
  | 

That is enabled automatically, since the MasterServerSocket wraps a real server 
socket.

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4033868#4033868

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4033868
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to