Beginner: Server/Client question

I want to have a Server application and a Client application running on the same machine both of them with a Listener (thread). Can both of them be Listening on the same port? I think that if I did that the sending application would receive the message right back sense it is listening to the port it sent the message to.
How is this usually done?
Thanks,
Andrew

No they do not listen on the same port but typically you only need to establish a specific port for the server. The the client can connect to the server on that port but it's side of the connection will be running off a different port that is selected from the availible ports for you. You can find out what the client port is if you want though I do not remeber the specific method calls to do so.

Similar Messages

  • UDP Server/Client Question

    Hi All,
    I'm just starting to work on this new server/client app and very new to UDP. Right now, I'm trying to read up on it. I'm wondering if anyone can point me to some good reading material. Quick question though, if a server (c-based) sends several messages, one right after another, can a client (java-based) handles these messages? I don't have any code to post just yet, still in the designing part. Thanks!

    Go for, JSP and Servlet ( Sun Microsystems )
    or Professional Java Server Programming wrox

  • Need Help for client - server - client question [Sockets]

    Hi
    I have read the http://java.sun.com/docs/books/tutorial/networking/sockets/index.html tutorial and made this Knock Knock Application.
    But now, I want that one client can view all the other clients which are connected to the server, and interract with a selected cleint over the server (client - server - client).
    But I have no idea how to build such a registration concept?
    A concrete hint (or link) how to realise this would be very helpful. I searched all the internet for examples, but I dont found a simple example.
    Thanks in advance
    greeds

    wSam,
    It appears that Sun considers RMI to be simpler, although less efficient than the alternative:
    http://java.sun.com/developer/technicalArticles/ALT/sockets/
    This article also talks about object serialization, which I am a fan of. Suppose that you want to send a data structure containing lots of information (like all connected users). You can actually pass an object (rather than text) across the network using ObjectOutputStream and receive it on the other end with ObjectInputStream. You might create your own Command class for passing objects between the client and server instead of using RMI. The Command class might hold flags that indicate which method should take place on the remote machine (i.e. send chess move command).

  • JDeveloper 11g & ADF: supported version of svn server/client question

    Hi all,
    I would like to setup a repository for our dev team, we are coming from jdev 10g with svn server 1.3.2 and tortise svn 1.4.8. After reading through John Stegeman's ADF Development Essentials documents, I noticed this article was published back in 2008 and the supported version at that time was 1.4x. What is the current supported svn server and client (i would like to use tortise svn in conjunction with jdev plugin) version for JDeveloper 11g?
    Thanks,
    Wes

    Check out this: http://www.oracle.com/technetwork/developer-tools/jdev/index-091111.html
    For 11.1.1.4:
    Subversion 1.5, SVNKit 1.2
    Subversion 1.6 2 , SVNKit 1.3 2
    GNU CVS 1.11, CVSNT 2.5
    Amit

  • \\SERVER\Clients\Setup\setup.exe with Windows Vista Error

    I added the first Vista client to an SBS 2003, SP1 domain.  Until now, all clients were WinXP, SP2.  Office 2003 is installed on the XP clients, and the Vista client, which may not be pertinent to this problem.
    As is normal, "\\SERVER\Clients\Setup\setup.exe /s SERVER" is executed when a user logs on to any domain client.  On the Vista client, I always get the dialog -- regardless of the account privilege -- asking for permission to run Setup.exe.  It is annoying.  Occasionally, the Program Compatiblity Assistant will appear and advise there's a known compatiblity issue with Setup.exe.  It points to KB article 926505 for resolution.  The title of the KB is, "Windows Small Business Server 2003: Windows Vista and Outlook 2007 compatibility update."
    When I run the SBS2003SP1-KB926505-X86-ENU.EXE fix, I get the error:  "This update cannot be installed.  Either it is already installed as part of an existing service pack, or it requires a more recent service pack.  For more information, see the systems requirements on the download page."
    I installed Windows Server 2003 SP2 and run the KB926505 fix, but I get the same error  "This update cannot be installed.  Either it is already installed as part of an existing service pack" After a reboot of te SBS server the same  problem on the Vista client, I always get the dialog -- regardless of the account privilege -- asking for permission to run Setup.exe.  It is annoying.  Occasionally, the Program Compatiblity Assistant will appear and advise there's a known compatiblity issue with Setup.exe.  It points to KB article 926505 for resolution.
    The problem is Windows Vista Business, because all windows XP clients have no problem at all.

    PNP,
    You do not say whether if you accept the permission dialog whether the setup continues or not, but the short answer to the question revolves around UAC.
    Remember that EVERY user (except the actual Administrator account) has only Standard user rights regardless of group.  When a task that requires Admin rights is executed, one of three things will happen: 1) If you are THE Administrator, then your task will continue.  2) If you have Admin rights, you will be prompted that a process is trying to use elevated rights and ask for permission, or 3) If you are a Standard user, you will either be denied flatly or prompted to supply credentials.  Which of these happen depend on GPO settings, but the default is to prompt.
    In any event, I believe that this is what you are running into, and is one of the big feature improvements in Vista.  Yes, it can be a bit annoying (Try deleting an "All Users" icon from the Start Menu!) but is there to place one more barrier between virus and malware writers and your OS.
    If it's TOO annoying to bear, you can turn off UAC by going into your profile and disabling it. (It requires Admin rights, of course. )  It is not recommended as you do a very effective job or nutering the Vista Security Model by doing so.
    If it, of course, your choice.  we IT Admins have a lot more issues with this than the standard user, but for me, I gladly take the tradeoff because I worry a lot less about those few I HAVE to give Admin rights to.
    Good luck!

  • Non-blocking Server/Client is blocking...?!

    First, a simple question:
    Why in most example code using Selectors, when iterating over the Set returned by Selector.selectedKeys() does the currently selected SelectionKey get removed from the Iterator? I see it all the time, but since the SelectionKey is still bound to the underlying Selector it seems to not really do anything.
    Now to my main problem:
    I been working with 1.4 for a week now trying to implement a simple test server/client, whereby the server constantly sends out the current time to any subscribing clients, who in turn display the time to stdout. Pretty straight forward, huh?
    Well, everything seems to go fine...once. The Server accepts the client connection, sends out a the current time, the client (only one for now) receives it, displays to the screen, but then both server and client block on the Selector.select() method.
    If I shut down the client, the server then continues through the select() method, finding one SelectionKey, tries to write to it and throws an IOException (since the client is no more). I'm catching that exception and then removing the channel from the Selector, so that the server may continue to service requests.
    When starting a second client while the first is still running causes the following sequence of events:
    Server: starts up
    ClientA: connects to server
    Server: broadcasts the time
    ClientA: displays time
    // nothing else happens until...
    ClientB: connects to server
    Server: broadcasts the time
    ClientA: displays time
    ClientB: displays time
    //everything blocks again...
    ClientA: disconnects from server
    Server: broadcasts the time
    ClientB: displays time
    As you can see it seems everything blocks until a client does something (connect/disconnect).
    I will post code if anyone asks, but I don't want to spam the board if no one is willing to help me.
    -Justin

    You got it!
    //   ********** SERVER **********
    import java.io.IOException;
    import java.net.InetSocketAddress;
    import java.net.ServerSocket;
    import java.net.Socket;
    import java.nio.ByteBuffer;
    import java.nio.channels.CancelledKeyException;
    import java.nio.channels.SelectionKey;
    import java.nio.channels.Selector;
    import java.nio.channels.ServerSocketChannel;
    import java.nio.channels.SocketChannel;
    import java.util.Date;
    import java.util.Iterator;
    import java.util.LinkedList;
    import java.util.Set;
    public class TestServer
      private static final int DEFAULT_PORT = 9999;
      public static void main(String[] args)
        TestServer s = new TestServer();
      }//end of main(String[])
      public TestServer()
        this(DEFAULT_PORT);
      }// end of TestServer()
      public TestServer(int port)
        InetSocketAddress addr = new InetSocketAddress(port);
        try
          Selector acceptSelector = Selector.open();
          Selector broadcastSelector = Selector.open();
          ConnectionList connections = new ConnectionList(broadcastSelector);
          Acceptor a = new Acceptor(acceptSelector, addr, connections);
          Broadcaster b = new Broadcaster(broadcastSelector, connections);
          a.start();
          b.start();
        }// end of try
        catch (Exception ex)
          ex.printStackTrace();
        }// end of catch
      }// end of TestServer(int)
      private static String status(Selector s)
        StringBuffer sb = new StringBuffer(100);
        sb.append("Selector: ");
        Set keys = s.keys();
        sb.append("\n\tNum Keys: ");
        sb.append(keys.size());
        Iterator iter = keys.iterator();
        int i = 0;
        while (iter.hasNext())
          try
            sb.append("\n\t[");
            sb.append(i++);
            sb.append("]:");
            SelectionKey key = (SelectionKey)iter.next();
            sb.append(" acceptable=");
            sb.append(key.isAcceptable());
            sb.append(" connectable=");
            sb.append(key.isConnectable());
            sb.append(" readable=");
            sb.append(key.isReadable());
            sb.append(" writable=");
            sb.append(key.isWritable());
          }// end of try
          catch (CancelledKeyException cke)
            sb.append("*** CANCELLED KEY");
          }// end of catch
        }// end of while
        return sb.toString();
      }// end of status(Selector)
      class Broadcaster extends Thread
        private final String TF = Broadcaster.class.getName();
        private int BUFFER_SIZE = 2048;
        private Selector selector_;
        private ConnectionList connections_;
        private ByteBuffer buffer_;
        public Broadcaster(Selector selector, ConnectionList connections)
          super("Broadcaster");
          selector_ = selector;
          connections_ = connections;
          buffer_ = ByteBuffer.allocateDirect(BUFFER_SIZE);
        public void run()
          while (true)
            try
              registerNewChannels();
              System.out.println("BroadcasterThread: Before select() "+status(selector_));
              System.out.println("BroadcasterThread: Selecting...");
              int keysReady = selector_.select();
              System.out.println("BroadcasterThread: After select() "+status(selector_));
              System.out.println("BroadcasterThread: "+keysReady+" ready Key(s)");
              if (keysReady > 0)
                transmit();
              }// end of if
            }// end of try
            catch (Exception ex)
              ex.printStackTrace();
              return;
            }// end of catch
          }// end of while
        protected void registerNewChannels()
        throws Exception
          SocketChannel channel = null;
          while (null != (channel = connections_.removeFirst()))
            channel.configureBlocking(false);
            channel.register(selector_, SelectionKey.OP_WRITE);
            System.out.println("BroadcasterThread: Registered connection from " + channel.socket().getInetAddress());
          }// end of while 
        }// end of registerNewChannels()
        public void transmit()
        throws Exception
          Set readyKeys = selector_.selectedKeys();
          System.out.println("BroadcasterThread: Selected Keys: "+readyKeys.size());
          SelectionKey tempKey = null;
          SocketChannel tempChannel = null;
          fillBuffer();
          for (Iterator i = readyKeys.iterator(); i.hasNext(); )
            tempKey = (SelectionKey)i.next();
            tempChannel = (SocketChannel)tempKey.channel();
            if (tempKey.isWritable())
              System.out.println("BroadcasterThread: Key selected is Writable");
              try
                tempChannel.write(buffer_);
                System.out.println("BroadcasterThread: Sent message to "+tempChannel.socket().getInetAddress());
              }// end of try
              catch (IOException ioe)
                System.err.println("BroadcasterThread: Lost Connection");
                tempChannel.close();
              }// end of catch
            }// end of if
            else
              System.out.println("BroadcasterThread: Key selected is not Writable");
            }// end of else
          }// end of for
          buffer_.clear();
        }// end of transmit()
        private void fillBuffer()
          buffer_.clear();
          /* Place Date in Buffer */
          long time = System.currentTimeMillis();
          Date d = new Date(time);
          System.out.println("BroadcasterThread: Broadcasting "+d);
          String date = d.toString()+"\n";
          byte[] datebuff = date.getBytes();
          buffer_.put(datebuff);
          /* Prepare for read operations */
          buffer_.flip();
        }// end of fillBuffer()
      }//end of inner class Broadcaster
      class Acceptor extends Thread
        private Selector selector_;
        private ConnectionList connList_;
        private final String TF = Acceptor.class.getName();
        public Acceptor(Selector selector, InetSocketAddress address, ConnectionList connList)
          super("Acceptor");
          selector_ = selector;
          connList_ = connList;
          try
            ServerSocketChannel ssc = ServerSocketChannel.open();
            ssc.configureBlocking(false);
            ssc.socket().bind(address);
            System.out.println("AcceptorThread: Bound to " + address);
            ssc.register(selector_, SelectionKey.OP_ACCEPT);
          }// end of try
          catch (Exception ex)
            ex.printStackTrace();
          }// end of catch
        public void run()
          while (true)
            try
              System.out.println("AcceptorThread: Selecting...");
              int keysReady = selector_.select();// block till a channel is ready
              System.out.println("AcceptorThread: "+keysReady+" Keys Ready");
              if (keysReady > 0)
                acceptPendingConnections();
              }// end of if
            catch (Exception ex)
              ex.printStackTrace();
        protected void acceptPendingConnections()
        throws Exception
          Set readyKeys = selector_.selectedKeys();
          System.out.println("AcceptorThread: Selected "+readyKeys.size()+" Keys");
          for (Iterator i = readyKeys.iterator(); i.hasNext(); )
            SelectionKey key = (SelectionKey)i.next();
            i.remove();  
            ServerSocketChannel readyChannel = (ServerSocketChannel)key.channel();
            SocketChannel incomingChannel = readyChannel.accept();
            System.out.println("AcceptorThread: Connection from " + incomingChannel.socket().getInetAddress());
            connList_.add(incomingChannel);
          }// end of for
        }// end of acceptPendingConnections()
      }// end of inner class Acceptor
      class ConnectionList
        private LinkedList list_;
        private Selector selectorToNotify_;
        public ConnectionList(Selector toNotify)
          list_ = new LinkedList();
          selectorToNotify_ = toNotify;
        }// end of ConnectionList(Selector)
        public synchronized void add(SocketChannel newlyConnectedChannel)
          list_.add(newlyConnectedChannel);
          selectorToNotify_.wakeup();
        }// end of add(SocketChannel)
        public synchronized SocketChannel removeFirst()
          SocketChannel first = null;
          if (list_.size() > 0)
            first = (SocketChannel)list_.removeFirst();
          }//end of if
          return first;
        }// end of removeFirst()
      }// end of inner class ConnectionList
    }// end of class TestServer
    //   ********** CLIENT **********
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.net.InetSocketAddress;
    import java.nio.ByteBuffer;
    import java.nio.channels.CancelledKeyException;
    import java.nio.channels.Channels;
    import java.nio.channels.ReadableByteChannel;
    import java.nio.channels.SelectionKey;
    import java.nio.channels.Selector;
    import java.nio.channels.SocketChannel;
    import java.nio.channels.WritableByteChannel;
    import java.util.Iterator;
    import java.util.Set;
    public class TestClient
      public static final String TF = TestClient.class.getName();
      private static final String DEFAULT_SERVER_IP = "127.0.0.1";
      private static final int DEFAULT_SERVER_PORT = 9999;
      private InetSocketAddress serverAddr_; 
      private Selector connectSelector_;
      private Selector readSelector_; 
      private WritableByteChannel outputChannel_; 
      private ByteBuffer receiveBuffer_;
      private SocketChannel serverChannel_;
      public static void main(String[] args)
        TestClient c = new TestClient();
      }// end of main(String[])
      public TestClient()
        this(DEFAULT_SERVER_IP, DEFAULT_SERVER_PORT);
      }// end of TestClient()
      public TestClient(String ip, int port)
        try
          serverAddr_ = new InetSocketAddress(ip, port);
          connectSelector_ = Selector.open();
          readSelector_ = Selector.open();
          outputChannel_ = Channels.newChannel(System.out);
          receiveBuffer_ = ByteBuffer.allocateDirect(512);
          connect();
          run();
        }// end of try
        catch (Exception ex)
          ex.printStackTrace();
        }// end of catch
      }// end of TestClient(String, int)
      private void connect()
      throws Exception
        serverChannel_ = SocketChannel.open();
        serverChannel_.configureBlocking(false);
        serverChannel_.connect(serverAddr_);
        serverChannel_.register(connectSelector_, SelectionKey.OP_CONNECT);
        int numKeys = 0;
        while (numKeys <= 0)
          System.out.println("connect(): Selecting...");
          numKeys = connectSelector_.select();
          System.out.println("connect(): "+numKeys+" ready Key(s)");
          Set readyKeys = connectSelector_.selectedKeys();
          System.out.println("connect(): Selected Keys: "+readyKeys.size());
          if (numKeys > 0)
            SelectionKey tempKey = null;
            SocketChannel tempChannel = null;
            Iterator i = readyKeys.iterator();
            while (i.hasNext())
              tempKey = (SelectionKey)i.next(); 
              i.remove();  
              tempChannel = (SocketChannel)tempKey.channel();
              if (tempKey.isConnectable())
                System.out.println("connect(): Key selected is Connectable");
                if (tempChannel.isConnectionPending())
                  System.out.println("connect(): Connection Pending");
                  tempChannel.finishConnect();
                  System.out.println("connect(): Connection Completed");
                }// end of if
              }// end of if
              else
                System.out.println("connect(): Key selected is not Connectable");
              }// end of else
            }// end of while
          }// end of if
        }// end of while
      }// end of connect()
      private void run()
      throws Exception
        serverChannel_.register(readSelector_, SelectionKey.OP_READ);
        while (true)
          System.out.println("run(): Before select() "+status(readSelector_));
          System.out.println("run(): Selecting...");
          int numKeys = readSelector_.select();
          System.out.println("run(): After select() "+status(readSelector_));
          System.out.println("run(): "+numKeys+" Ready Key(s)");
          if (numKeys > 0)
            processKeys();
          }// end of if
        }// end of while
      }// end of run()
      private void processKeys()
      throws Exception
        Set readyKeys = readSelector_.selectedKeys();
        System.out.println("processKeys(): Selected Keys: "+readyKeys.size());
        SelectionKey tempKey = null;
        SocketChannel tempChannel = null;
        for (Iterator i = readyKeys.iterator(); i.hasNext(); )
          tempKey = (SelectionKey)i.next();
          tempChannel = (SocketChannel)tempKey.channel();
          if (tempKey.isReadable())
            System.out.println("processKeys(): Key selected is Readable");
            try
              tempChannel.read(receiveBuffer_);
              receiveBuffer_.flip();
              outputChannel_.write(receiveBuffer_);
              receiveBuffer_.clear();
            }// end of try
            catch (IOException ioe)
              System.out.println("processKeys(): Lost Connection");
              tempKey.cancel();
            }// end of catch
          }// end of if
          else
            System.out.println("processKeys(): Key selected is not Readable");
          }// end of else
        }// end of for
      }// end of processKeys()
      private static String status(Selector s)
        StringBuffer sb = new StringBuffer(100);
        sb.append("Selector: ");
        Set keys = s.keys();
        sb.append("\n\tNum Keys: ");
        sb.append(keys.size());
        Iterator iter = keys.iterator();
        int i = 0;
        while (iter.hasNext())
          try
            sb.append("\n\t[");
            sb.append(i++);
            sb.append("]:");
            SelectionKey key = (SelectionKey)iter.next();
            sb.append(" acceptable=");
            sb.append(key.isAcceptable());
            sb.append(" connectable=");
            sb.append(key.isConnectable());
            sb.append(" readable=");
            sb.append(key.isReadable());
            sb.append(" writable=");
            sb.append(key.isWritable());
          }// end of try
          catch (CancelledKeyException cke)
            sb.append("*** CANCELLED KEY");
          }// end of catch
        }// end of while
        return sb.toString();
      }// end of status(Selector)
    }// end of class TestClient

  • Python Server/Client Application Development

    Hey All!
    I am writing a basic proof of concept server/client application for a project I am working on.
    My goal is this:
    1) End user launches client.
    2) Client connects to server.
    3) User selects one or more files to send to server.
    4) Server saves a copy of each file.
    5) Server terminates connection.
    5) Server processes each file.
    6) Upon completion of the processing server sets a "processing completed flag."
    7) Client periodically checks with server for "processing completed flag."
    8) Client securely reconnects
    9) Client downloads processed files.
    I have no background in programming servers/clients so this will be a learning experience for me and the workflow described above may change as I learn more about how this all works. Currently my hope is to first implement a system that will stay connected while the files are processed and once I have a better understanding as to how that works I can add more complexity to the system.
    I will be writing this in Python 3.3 and the server will be hosted on a server which will (for now) be running Arch.
    This thread will act as a sort of development journal but feel free to comment or post suggestions. I will for sure have questions as I go along too!

    brettski wrote:Turns out the best way (so far as I can tell) is to go integer -> string -> byte and then byte -> string -> integer..
    Do you mean regular, non-byte strings? That cannot possibly be the best way to do it. It would be like using Russian as an intermediary language for translating Spanish to French.
    Maybe the following will set you on the right path:
    http://stackoverflow.com/questions/6187 … -in-python
    http://stackoverflow.com/questions/4445 … int-python
    Looking further, this is probably the right way to do it:
    some_int = 57
    bytes = struct.pack('i', bytes)
    sock.send(bytes)
    See http://docs.python.org/3/library/struct.html for details.
    As for threaded servers, you may find some useful examples here.

  • Server/client application

    i'm just starting to learn about server/client applications and i'm a little confused about actually implementing them.
    my client will be an applet which can be accessed over the internet. i want the applet to be able to read/write to the server.
    now my question is, how can i start up the server program?
    i would want it to initialize and run, only when the user has gone to the website that uses the applet.

    look at using a Servlet, running under Tomcat (download the Java Web Services Developer pack from java.sun.com
    here's what the servlet looks like:
    mport javax.servlet.*;
    import java.util.*;
    import java.net.*;
    public class ServletTest extends GenericServlet
    /** servlet is initialising */
    public void init()
    System.out.println("ServletTest initializing");
    /** servlet wascalled bt client */
    public void service(ServletRequest request,ServletResponse response)
    try
    byte[] data=new byte[100];
    ServletInputStream inputStream=request.getInputStream();
    int read=inputStream.read(data);
    String string=URLDecoder.decode(new String(data,0,read),"UTF-8");
    System.out.println("read "+read+" bytes: "+string);
    inputStream.close();
    ServletOutputStream outputStream=response.getOutputStream();
    Date date=new Date();
    outputStream.write(date.toString().getBytes());
    outputStream.close();
    catch(Exception ex)
    ex.printStackTrace();
    /** servlet is being destroyed */
    public void destroy()
    System.out.println("ServletTest terminating");
    here's what the client looks like:
    mport javax.servlet.*;
    import java.util.*;
    import java.net.*;
    public class ServletTest extends GenericServlet
    /** servlet is initialising */
    public void init()
    System.out.println("ServletTest initializing");
    /** servlet wascalled bt client */
    public void service(ServletRequest request,ServletResponse response)
    try
    byte[] data=new byte[100];
    ServletInputStream inputStream=request.getInputStream();
    int read=inputStream.read(data);
    String string=URLDecoder.decode(new String(data,0,read),"UTF-8");
    System.out.println("read "+read+" bytes: "+string);
    inputStream.close();
    ServletOutputStream outputStream=response.getOutputStream();
    Date date=new Date();
    outputStream.write(date.toString().getBytes());
    outputStream.close();
    catch(Exception ex)
    ex.printStackTrace();
    /** servlet is being destroyed */
    public void destroy()
    System.out.println("ServletTest terminating");

  • 9iR2 OLAP Reporting Server Capacity Question

    9iR2 OLAP Reporting Server Capacity Question
    We are running Oracle 9iR2 with OLAP.
    OS - RHEL3 AS
    SERVERS - Dell Poweredge 6600's
    cpu 4 x 2.4ghz
    24GB RAM
    1.5 TB space
    Our AWs are typically 30GB in size. My question is, what is my capacity of jdbc thin client user sessions per box? I haven't been able to find much documentation on scalability with large AWs and a large user base. We will need to host reports for 6000 users moving to 16000 by next year.
    We will be switching to 2x 1.6ghz 64bit opteron boxes this year sometime as well.

    9iR2 OLAP Reporting Server Capacity Question
    We are running Oracle 9iR2 with OLAP.
    OS - RHEL3 AS
    SERVERS - Dell Poweredge 6600's
    cpu 4 x 2.4ghz
    24GB RAM
    1.5 TB space
    Our AWs are typically 30GB in size. My question is, what is my capacity of jdbc thin client user sessions per box? I haven't been able to find much documentation on scalability with large AWs and a large user base. We will need to host reports for 6000 users moving to 16000 by next year.
    We will be switching to 2x 1.6ghz 64bit opteron boxes this year sometime as well.

  • L4 ASA5520 Firewall act as NTP Server/Client

    Hi experts,
    I know that ASA can act as ntp server/client simultaneously, so my question is, do you preffer/recommend to use dorder router or FW such as ASA to act as NTP server for internal switch/router as well as the windows hosts??? I know that network equipments is ok, but not sure how about synch time from ASA to windows hosts.
    so, I've ASA 5520 and designed to be reside on L4 Firewall, and also create one DMZ, and put PDC on inside's ASA. then what is the best practice for time stratum?
     1) Use L4 FW, asa 5520 to get time from internet, and configure it to NTP server as well as. then my internal switches/routers and windows PDC(primary domain controller)could set their time source to border asa 5520.
     2) Set internal PDC to take time from internet, supposed to allow to pass only ntp between PDC/internet via ASA 5520, then L4 ASA 5520 and others sw/routers get time from insides PDC...
    can some one point me out?
    Thanks and regards,
    Taixing An

    My central point for sync NTP is my SVI in Management, and this one Sync from Internet in last case i have a less prefered end-point (PDC)

  • My first Server/Client Program .... in advise/help

    Hello,
    I am learning about Sockets and ServerSockets and how I can use the. I am trying to make the simplest server/client program possible just for my understanding before I go deper into it. I have written two programs. theserver.java and theclient.java the sere code looks like this....
    import java.net.*;
    import java.io.*;
    import java.util.*;
    public class theserver
      public static void main(String[] args)
      {   //  IOReader r = new IOReader();
            int prt = 3333;
            BufferedReader in;
             PrintWriter out;
            ServerSocket serverSocket;
            Socket clientSocket = null;
    try{
    serverSocket = new ServerSocket(prt);  // creates the socket looking on prt (3333)
    System.out.println("The Server is now running...");
    while(true)
        clientSocket = serverSocket.accept(); // accepts the connenction
        clientSocket.getKeepAlive(); // keeps the connection alive
        out = new PrintWriter(clientSocket.getOutputStream(),true);
        in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
         if(in.ready())
         System.out.println(in.readLine()); // print it
    catch (IOException e) {
        System.out.println("Accept failed:"+prt);
    and the client looks like this
    import java.net.*;
    import java.io.*;
    public class theclient
    public static void main(String[] args)
        BufferedReader in;
        PrintWriter out;
        IOReader r = new IOReader();
        PrintWriter sender;
        Socket sock;
      try{
        sock = new Socket("linuxcomp",3333);  // creates a new connection with the server.
        sock.setKeepAlive(true); // keeps the connection alive
        System.out.println("Socket is connected"); // confirms socket is connected.
        System.out.println("Please enter a String");
         String bob = r.readS();
          out = new PrintWriter(sock.getOutputStream(),true);
        out.print(bob); // write bob to the server
      catch(IOException e)
           System.out.println("The socket is now disconnected..");
    If you notice in the code I use a class I made called IOReader. All that class is, is a buffered reader for my System.in. (just makes it easier for me)
    Ok now for my question:
    When I run this program I run the server first then the client. I type "hello" into my system.in but on my server side, it prints "null" I can't figure out what I am doing wrong, if I am not converting correctly, or if the message is not ever being sent. I tried putting a while(in.read()) { System.out.println("whatever") } it never reaches a point where in.ready() == true. Kinda of agrivating. Because I am very new to sockets, I wanna aks if there is somthing wrong with my code, or if I am going about this process completely wrong. Thank you to how ever helps me,
    Cobbweb

    here's my simple server/client Socket :
    Server:
    import java.net.*;
    import java.io.*;
    public class server
       public static void main(String a[])
              ServerSocket server=null;
              Socket socket=null;
              DataInputStream input=null;
              PrintStream output=null;
          try
             server=new ServerSocket(2000);
             socket=server.accept();
             input = new DataInputStream(socket.getInputStream());
             output = new PrintStream(socket.getOutputStream());
             //output.println("From Server: hello there!");
             String msg="";
             while((msg=input.readLine()) != null)
                System.out.println("From Client: "+msg);
          catch(IOException e)
          catch(Exception e)
    }Client:
    import java.net.*;
    import java.io.*;
    public class client
       static private Socket socket;
       static private DataInputStream input;
       static private PrintStream output;
       public static void main(String a[])
          try
    socket=new Socket("10.243.21.101",2000);
    System.out.println("\nconnected to: \""+socket.getInetAddress()+"\"");
             input=new DataInputStream(socket.getInputStream());
             output=new PrintStream(socket.getOutputStream());
             output.println("From Client(Tux): "+a[0]);
             String msg="";
             //while((msg=input.readLine()) != null)
                 System.out.println("From Server(Bill): "+msg);
          catch(java.io.IOException e)
          catch(Exception e)
    }

  • Peak level + rtp server / client

    Hi all JMF developper,
    Here are my questions. I have to develop a simple application that capture voice coming from a microphone and then transmit it over a network (the Internet in general). I would like to develop a peak level as many audio tools provide (just to see if the recording level is good).
    Then it will be very interesting for me to get materials, resources, codes or anything else about a simple JMF server / client. We plan to use the Darwin streaming server.
    From the client side, I would like to know if there a buffer security mechanism built in or not (for instance, listener that warns that the buffer will become empty in order to stop anything else that is synchronized with the voice)
    Kind regards,
    St�phane

    anybody does how I can create a Peak level in my GUI (a volume meter while recording)
    Thanks

  • MaxDB Server/client upgrade

    Hi,
    Can anyone please let me know the difference between server & client software. If i upgrade client only with out server are there any backdrops.
    What components are going to get upgraded when i do client only or both.
    Thanks in advance

    > Can anyone please let me know the difference between server & client software. If i upgrade client only with out server are there any backdrops.
    Hi Koby,
    just a remark: if you don't know what client and server software means, you probably shouldn't install/update anything like it.
    Anyhow, let's see if we can give an answer to your question.
    The database client software is the software used to use the database.
    It includes different client libraries for programmers, dba tools like dbmcli and sqlcli.
    The jdbc driver is a part of the client software as well.
    On the other hand the server component includes things like the x_server, the dbmserver executable and the MaxDB kernel as well.
    Be aware that in this context the distinction between client and server is made on the software layer.
    It's about the roles that the different programs play in the system and not about on which machine the software is installed.
    Therefore you will typically find all the client software parts also on the database server.
    It useful to have it there, as most often we want to be able to access the database also when we're logged on to the database server.
    On any client computer (the SAP Web Application servers would be the clients of the database here) on the other hand, you will just have the client packages installed because there we don't need any part of the server programs.
    Now if you ask what happens when you just upgrade the client software and leave the server software as it is, we already know that you're talking about the machine on which the database server runs.
    Due to the software structure of MaxDB (release dependent and independent parts), it is possible to upgrade the client software and leave the database software alone.
    The client software belongs to the independent parts and therefore does not impair the software the database kernel runs with.
    Anyhow, since you need to stop the whole MaxDB software when you're raising the version of the independent software part (which is used in a shared manner by all MaxDB components on the same machine), just upgrading the client software would be wasting the downtime of the system.
    Since you should perform the upgrade on the test systems first and perform tests on them afterwards (somehow this part of the test system concept seems to be the most overlooked one) you can be sure that the upgrade of the server components won't harm your system - in fact usually a patch should remove bugs and or improve performance and reliability.
    Therefore: when on the database server and installing a patch - patch your database as well!
    best regards,
    Lars

  • Regarding mountain lion server: clients experience intermittent service connections. the server system log has the following error- Client handshake failed (6):113: Server not accepting client connections (any ideas???)

    regarding mountain lion server: clients experience intermittent service connections. the server system log has the following error- Client handshake failed (6):113: Server not accepting client connections. any suggestions would be greatly appreciated - thank you

    Hi Jason
    I was getting the same behavior after Apple support had me delete some plist files to get Airplay going. I was also getting the following error:
    the error occurred while processing a command of type 'writesettings' in the plug-in 'server vpn'
    I went into ~/Library/Preferences/ and /Library/Preferences/ and deleted every plist contating the word server. I had to re-set up my server (meaning walk through some intial steps) but all of my settings were still there after that and everything started working again.
    Just a thought, obviously try at your own risk but it worked for me.
    Kellen

  • O.S. / Hard Drive Size for NIO Server/Client's load testing...

    Hi All
    I am currently load testing a NIO Server/Client's to see what would be the maximum number of connections that could reached, using the following PC: P4, 3GHz, 1GB RAM, Windows XP, SP2, 110 GB Hard Drive.
    However, I would like to test the Server/Client performance on different OS's:
    Which would be the best possible option from the following:
    1. Partition my current drive, (using e.g. Partition Magic), to e.g.
    - Win XP: 90 GB
    - Win Server 2000: 10 GB
    - Linux: 5 GB
    - Shared/Data: 5 GB
    2. Install a separate Hard drive with the different hard drives
    3. Use a disk caddie, to swap in/out test hard drives.
    4. Any thing else?
    - Would the Operating System's hard drive size affect the Server/Client's performance, e.g. affecting the number of connections, number of File Handles, the virtual memory, etc.?
    Many Thanks,
    Matt

    You can use a partition on the same HDD or use a second HDD, disk caddie well if its a direct IDE or SCSI. If its usb no it will be too slow, may be if you have a fire-wire but I still don't recommend it.
    Be careful if you don't have any experience installing Linux you may do multiple partitions on you disk without knowing, because Linux ext partitions are not visible to windows.
    Recommended disk size for fedora is 10 GB. This is the amount of data that will be created on you HDD when you do a full installation.

Maybe you are looking for