Server broadcast

Hi All,
Faced an dos attack from lan inside zone to Dmz zone.
AS from firewall logs came to know about the one of the server was
broadcasting.It took long time to findout that particular server.
So is there any tool that gives clear picture in terms of graph regarding machine broadcasting.
etc that can be implemented in our network.

Hi Kumar,
From my experience I would recomend Solarwinds. It gives very good network overview with possibility to specify any network flow and creates graphs (based on any given time period etc.depending on version)
It's not a cheap product but very flexible.
Unless someone knows a good freeware tool.
Regards
Mariusz

Similar Messages

  • Sql Server 2012 Cluster IP Responses to MS Dynamics APP server broadcasts

    Hi All,
     We are facing issues in our brand new MS Dynamics AX 2012 R3 installation with clustered MS SQL 2012.
    The DB server responses to the APP servers is like broadcasting to every system connected to the subnet. In our case that subnet is 192.168.2.0/24. But the packets sent from the AOS / APP server is not refelecting on other machines. We haven't made any changes
    to the routing / switching config after the installation.
    Attaching a screenshot for your reference.
    Please guide us on what can be done to find the cause and solve it
    Thanks,
    Sriram A Das

    Hi D. Graf,
    According to my knowledge, you can choose the order (each server's IP address­-> SQL Server instance IP-> Failover cluster instance IP) to change these IP addresses.
     And before the process, please take SQL Server Cluster Instance Offline in Failover Cluster Manager . For more details, please review the following articles.
    How to change the IP address of the cluster nodes hosting a SQL Server instance
    http://iamoffthebus.wordpress.com/2012/03/30/how-to-change-the-ip-address-of-the-cluster-nodes-hosting-a-sql-server-instance/
    Change the IP Address of a Failover Cluster Instance
    http://msdn.microsoft.com/en-us/library/ms190460(v=sql.110).aspx
    In addition, about network adapter issues and cluster nodes issues, I would like to
    recommend you post the question in the Windows
     server clustering forum at
    https://social.technet.microsoft.com/Forums/windowsserver/en-US/home?forum=winserverClustering
     . It is appropriate and more experts will assist you.
    Thanks,
    Lydia Zhang
    If you have any feedback on our support, please click
    here.

  • Precalculation Server Broadcast Workbooks - BI7.0

    Hi,
    We have installed Precalculation Server to broadcast our Workbooks in BI7.0 System. The configuration looks OK. We are able to successfully broadcast workbooks. We receive an email with attached excel file. But when we open up this excel file, there is no data returned. All we see is the template again.
    I have checked the configuration again and also gone thru How to Information Broadcasting.pdf document, still no luck.
    Can someone please point to where the issue might be?
    Regards,

    Hi Fahad,
    Can you please send me or share information on how you set up the Precalculation Server?
    Thanks
    DV

  • JAX-RPC: Web service where both server /and/ client are services?

    I'm considering a two-way Web service in an application that I'm designing and would appreciate any insight from prior experience.
    This will be a standard client-server application, where the server broadcasts messages and the client, in turn, can request further information about the messages that it receives (think RSS-style updates, but with more interaction). [strong]However[strong], instead of having the client poll the server for new messages, I'd like to have the client register itself with the server as a message listener. The server is currently implemented as a Web service on port X. I'd like the client to register itself with the server, and then receive messages on port Y.
    I'm considering a design like the following (note the directions of the inheritance arrows):
    ( Server class )  --<-- ( RemoteServerImpl class ) -->-- / RemoteServer interface /
           |
    ( Listener class ) --<-- ( RemoteListenerImpl class ) -->-- / RemoteListener interface /Some considerations:
    * In both cases, the client and server are broken out into an interface and two classes. The non-Remote classes implement all of the functionality. The RemoteX interfaces declare the methods that will be exposed via RPC, and the RemoteXImpl classes are empty subclasses of the non-Remote classes.
    * In order to register itself with the Server, the Listener must be passed in as a method parameter, and thus conform to the JAX-RPC specification for value types. However, value types can't implement java.rmi.Remote.
    * Only the Server and Listener know anything about each other.
    * This application can be run either remotely or locally, depending on how the Server and Listener are instantiated. For the latter, they're instantiated directly and the listener is registered with the Server. For the latter, the RemoteX interfaces will point to the service stubs.
    * I don't see an easy way to allow both the Server and the Listener to have references to each other (at least now without some casting magic), since one of them will have to conform to the value type specification, which requires that all of its fields must be valid JAX-RPC types.
    I've got the Server portions implemented and working, and am now going to turn to the Listener stuff. Can anybody see a fundamental problem with this design, or can suggest something better?

    Hi There,
    Because web services are fundamentally a Services-oriented architecture, and not an Object-oriented one, you are unable to pass objects by reference (only by value) hence the design decision to not allow rmi.Remote objects to be sent across the wire. The best way would be to abstract an object which does itself not represent a server, but a route to a server (lets call it ServerPointer). This must contain address, port, service info, etc.
    Now, in your Server class, create a factory method which takes a ServerPointer, and returns a reference to a
    remote server, e.g. protected Server createServer( ServerPointer p ) (using the necessary APIs to get such a reference)
    Hope this helps...

  • IIS7 configuration, blocked broadcast video stream from third party host

    I have a client that recently replaced a windows server 2003 with windows server 2008 R2 as their webserver.  This was a big change to IIS7.  An application that I developed for them has stopped working and I believe this is related to the IIS7
    configuration.  The application uses SilverLight technology to display a broadcast video along with some powerpoint slides.
    Here is the URL going to the server from a link on an html page. 
    http://iiscast.wlf.org/vod/broadcast/sctr01/0/start.html?media=http://iiscast.wlf.org/vod/broadcast/unit2.asx
    The iiscast.wlf.org is the public name for the IIS server.  When we click on the link it does properly display the start.html content but fails to connect to the video stream.  The video stream is hosted by a third party and the contents of the
    unit2.asx file has the url for that video stream.  When a put the
    http://iiscast.wlf.org/vod/broadcast/unit2.asx portion in IE it does properly display the video stream on mediaplayer.   All this worked prior to moving to the new server.   When I use F12 in IE to debug this, I see a brief message appear
    in the debugger that it is opening unit2.asx.  After that the debugging is very limited except I know I’m getting an exception in the silverlight and the video doesn’t display.   Other similar Silverlight apps on the same server that display
    archived video are working.
    Here is the content of unit2.asx
    <asx version = "3.0">
      <Title>Unit2 Bdct</Title>
      <entry>
        <ref href = "http://easylink.playstream.com/winlive/wlforg2.wvx"/>
      </entry>
    </asx>
    Playstream is a video stream hosting company.  When someone links to them, it pulls the video stream from my clients media server broadcast point. 
    wlforg2.wvx contains the link back to the media server broadcast point at my client.
    We have a lot of connections going on but keeping in mind that  http://iiscast.wlf.org/vod/broadcast/unit2.asx will display the video and
    http://iiscast.wlf.org/vod/broadcast/sctr01/0/start.html?media=http://iiscast.wlf.org/vod/broadcast/unit2.asx
    Is not displaying the video although all this worked on the old server.
    My guess is that something in the IIS7 is blocking this process.
    FYI the old server completely died so I can’t look into its configuration which was done in 2004 by someone else.

    This was entered in the iis.net forum as suggested.  The problem has been resolved.  The hosting service determined they had an edge server that was faulting.  Their edge servers were automatically assigned by geography which meant
    that depending on how/where we accessed the system for troubleshooting we used a different edge server.  Hence some tests always failed and others always passed.  FYI the hosting service had this problem for over a month and did not detect it
    themselves.  Fortunately we connected with a dedicated service technician late on a Saturday night and he figured it out.  

  • JDBC Driver for SQL Server 7

    Is there a free JDBC Driver for SQL Server 7 available? If so, where? I created a server program that listens to a port and inserts records based on information it receives. It uses sun's JDBC:ODBC Bridge but it crashes randomly (sometimes weeks, sometimes days, sometimes hours after starting program). Each time it crashes it generates a error log file like this:
    An unexpected exception has been detected in native code outside the VM.
    Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x77f821e1
    Function name=RtlEnterCriticalSection
    Library=C:\WINNT\System32\ntdll.dll
    Current Java thread:
         at sun.jdbc.odbc.JdbcOdbc.driverConnect(Native Method)
         at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source)
         at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source)
         at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
         at java.sql.DriverManager.getConnection(Unknown Source)
         at java.sql.DriverManager.getConnection(Unknown Source)
         at com.xxxxx.data.DataAccess.connect(DataAccess.java:20)
         at com.xxxxx.xxx.server.Broadcaster.insertOrder(POSServer.java:71)
         at com.xxxxx.xxx.server.ClientListener.run(POSServer.java:298)
    Dynamic libraries:
    0x00400000 - 0x00405000      C:\WINNT\system32\java.exe
    0x77F80000 - 0x77FFB000      C:\WINNT\System32\ntdll.dll
    0x77DB0000 - 0x77E0C000      C:\WINNT\system32\ADVAPI32.dll
    0x77E80000 - 0x77F35000      C:\WINNT\system32\KERNEL32.DLL
    0x77D40000 - 0x77DB0000      C:\WINNT\system32\RPCRT4.DLL
    0x78000000 - 0x78046000      C:\WINNT\system32\MSVCRT.dll
    0x6D420000 - 0x6D4F0000      C:\Program Files\JavaSoft\JRE\1.3.1_02\bin\hotspot\jvm.dll
    Local Time = Mon May 06 10:36:33 2002
    Elapsed Time = 124
    # The exception above was detected in native code outside the VM
    # Java VM: Java HotSpot(TM) Client VM (1.3.1_02-b02 mixed mode)
    Or this:
    An unexpected exception has been detected in native code outside the VM.
    Unexpected Signal : EXCEPTION_ACCESS_VIOLATION occurred at PC=0x77f821e1
    Function name=RtlEnterCriticalSection
    Library=C:\WINNT\System32\ntdll.dll
    Current Java thread:
         at sun.jdbc.odbc.JdbcOdbc.freeConnect(Native Method)
         at sun.jdbc.odbc.JdbcOdbc.SQLFreeConnect(Unknown Source)
         at sun.jdbc.odbc.JdbcOdbcDriver.closeConnection(Unknown Source)
         at sun.jdbc.odbc.JdbcOdbcConnection.close(Unknown Source)
         at sun.jdbc.odbc.JdbcOdbcConnection.finalize(Unknown Source)
         at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
         at java.lang.ref.Finalizer.runFinalizer(Unknown Source)
         at java.lang.ref.Finalizer.access$100(Unknown Source)
         at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)
    Dynamic libraries:
    0x00400000 - 0x00405000      C:\Program Files\JavaSoft\JRE\1.3.1_02\bin\javaw.exe
    0x77F80000 - 0x77FFB000      C:\WINNT\System32\ntdll.dll
    0x77DB0000 - 0x77E0C000      C:\WINNT\system32\ADVAPI32.dll
    0x77E80000 - 0x77F35000      C:\WINNT\system32\KERNEL32.DLL
    0x77D40000 - 0x77DB0000      C:\WINNT\system32\RPCRT4.DLL
    Local Time = Mon May 06 10:13:59 2002
    Elapsed Time = 137
    # The exception above was detected in native code outside the VM
    # Java VM: Java HotSpot(TM) Client VM (1.3.1_02-b02 mixed mode)
    I think this error occurs because I'm using sun's JDBC:ODBC Bridge. I'm hoping that using a different driver will solve the problem.
    Thanks,
    Dan

    I used Sun's jdbc odbc driver for a while, with no problems, with Sql Server 7. But anyways, if you want a free type 4 driver, you can get the freetds driver at
    https://sourceforge.net/projects/jtds/

  • Multi-threaded server programming

    Hello, I meet a problem and don't know how to solve it: I have created a multi-threaded server program which receives multiple users from their own PCs. The server program receives users'commands and echo it back to all users who are currently connecting to my server. I store every clientSocket connecting to my server into a vector. My question is: how the server broadcasts a user command to other users? And how the server knows to which user he will echo the command to since the hostName and port number are the same to every user currently connecting to my server? Thanks a lot.

    You should look at extending the Socket class to encorporate user details. Either use what peter suggested or make the user pass a username (or something) when they connect.
    When you want to broadcast to all users just enumerate through your vector and send each one the command. If you mean the user performs a task on their application and you want to produce the same results in all the other users apps then its down to you to code it. When user1 clicks on a button the app must send a command (eg. a string) to the server which sends the same string to all other users. When the user receives this string it performs some task.
    Is that what you mean?
    Ted.

  • 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

  • CIFS on OES2SP3 not registering as server on WINS server - Unable to obtain server list from CIFS server.

    Running OES2P3 cifs on SLES10SP4. This server is on it's own subnet
    connected via a router to the other subnets, with the rest of the
    servers. Name resolution and CIFS file access does work, but browsing
    does not work. I found that the server registers the workstation
    service with the WINS server, but not the server service. Adding a a
    static WINS entry enables netbios name resolution. But due to the
    unability to obtain a server list from the CIFS server (a packet trace
    shows, that the request for the server list from the OES CIFS server is
    answered by the server with an unspecified server error) browsing does
    not work.
    Is browsing supported by OES2 CIFS like it is in SAMBA or does it need
    another server as browser to allow browsing to work?
    W. Prindl

    Okay, then we have the same knowledge status in that area.
    I'll try to open a SR on this question.
    W. Prindl
    Peter Kuo wrote:
    >Sorry for the delay - I fired up my VM that had CIFS configured for
    >OES2 and you're right that there is no obvious setting for WINS; if
    >its there, like you I cannot readily find it!
    >
    >The closest I can find is:
    >
    >
    >"10.2.4 CIFS Server Broadcasts the Browser Packets every Twelve
    >Minutes
    >
    >Cause: It is designed to broadcast every twelve minutes.
    >
    >Action: An entry with the NetBIOS Name and the respective server IP
    >address in LMHOSTS file must be present on Windows client machine or
    >WINS should be configured for both the server and the client."
    >
    >
    >Oh, I did find (and that was what was in the mind when I first
    >replied) that the CIFS Server Parameter page in iManager has this
    >seting:
    >
    >
    >"WINS IP Address
    >The address of the WINS server that locates the PDC, if the PDC and
    >the server running CIFS are on different subnets."

  • Is there any mechanism for broadcast messages for every client?

    Hi, all
    I just wanna to develop such a kind of chatting program. So I just build the communication structure for that. I want to use UDP protocol to send and recieve messages. As we know about that protocol, it does not need connection between server and client, so some packages will be lost. I just used only one DatagramSocket to recieve and send any messages back and forth. And I implemented the client using multithread technique. The problem is that when multiple client sent messages to server, how could server broadcast the specific message to all clients. I am very headache about that. I just used Vector to store diffrent address and port. And when a meesage arrived, I will firstly make ajustment about whether the address and port had been stored, if not, I will add, otherwise I will ignore it. So I think it will be terrible that if thousands of clients connected to the server, how big Vector will be. So I want to know whether the Net package or DatagramSocket provided some kind of mechanism about broadcast messages for every interested client. Thanks. Here is my code below:
    ChattingServer.java
    * Created on 2005-4-16
    * TODO To change the template for this generated file go to
    * Window - Preferences - Java - Code Style - Code Templates
    // A server that echoes datagrams
    import java.net.*;
    import java.io.*;
    import java.util.*;
    * @author Kevin
    * TODO To change the template for this generated type comment go to
    * Window - Preferences - Java - Code Style - Code Templates
    public class ChattingServer {
         static final int INPUT = 1066;
         private byte[] buf = new byte[1000];
         private DatagramPacket dp = new DatagramPacket(buf, buf.length);
         private DatagramSocket socket;
         private Vector addrVector, portVector;
         public ChattingServer() {
              try {
                   System.out.println("Chatting Server Started......");
                   socket = new DatagramSocket(INPUT);
                   System.out.println("The status is: " + socket.getBroadcast());
                   addrVector = new Vector();
                   portVector = new Vector();
                   socket.receive(dp);
                   addrVector.addElement(dp.getAddress());
                   portVector.addElement(new Integer(dp.getPort()));
                   System.out.println("The original size of addrVector: " + addrVector.size());
                   System.out.println("The original size of portVector: " + portVector.size());
                   String first = Transfer.toString(dp);
                   System.out.println(first);
                   System.out.println("The info: " + dp.getAddress() + ": " + dp.getPort());
                   DatagramPacket echo = Transfer.toDatagram(first, dp.getAddress(), dp.getPort());
                   socket.send(echo);
                   while(true) {
                        socket.receive(dp);
                        System.out.println("A message recieved and prepare for broadcasting.....");
                        for(int i = 0; i < addrVector.size(); i++){
                             if(!((((InetAddress)(addrVector.elementAt(i))).toString() == (dp.getAddress()).toString()) && (((Integer)portVector.elementAt(i)).toString() == (new Integer(dp.getPort())).toString()))) {
                                  System.out.println("Before adding element");
                                  System.out.println("(InetAddress)(addrVector.elementAt(i)).toString(): " + ((InetAddress)(addrVector.elementAt(i))).toString() + ", dp.getAddress().toString(): " + (dp.getAddress()).toString());
                                  System.out.println("(Integer)portVector.elementAt(i).toString(): " + ((Integer)portVector.elementAt(i)).toString() + ", (new Integer(dp.getPort())).toString()" + (new Integer(dp.getPort())).toString());
                                  addrVector.addElement(dp.getAddress());
                                  portVector.addElement(new Integer(dp.getPort()));
                        String info = dp.getAddress() + ": " + dp.getPort();
                        String rcvd = info + ": " + Transfer.toString(dp);
                        System.out.println(rcvd);
                        System.out.println("The size of addrVector is: " + addrVector.size());
                        System.out.println("The size of portVector is: " + portVector.size());
                        String echoString = Transfer.toString(dp);
                        for(int i = 0; i < addrVector.size(); i++) {
                             InetAddress tempAddr = (InetAddress)addrVector.elementAt(i);
                             int tempPort = Integer.parseInt(portVector.elementAt(i).toString());
                             System.out.println("The port is: " + tempPort);
                             echo = Transfer.toDatagram(echoString, tempAddr, tempPort);
                             socket.send(echo);
              } catch(SocketException e) {
                   System.err.println("Can't open socket");
                   System.exit(1);
              } catch(IOException e) {
                   System.err.println("Communication error");
                   e.printStackTrace();
         public static void main(String[] args) {
              new ChattingServer();
    ChattingClient.java
    * Created on 2005-4-16
    * TODO To change the template for this generated file go to
    * Window - Preferences - Java - Code Style - Code Templates
    // Tests the ChattingServer by starting multiple clients, each of which sends datagrams.
    import java.lang.Thread;
    import java.net.*;
    import java.io.*;
    * @author Kevin
    * TODO To change the template for this generated type comment go to
    * Window - Preferences - Java - Code Style - Code Templates
    class Sender extends Thread {
         private DatagramSocket s;
         private InetAddress hostAddress;
         public Sender(DatagramSocket s) {
              this.s = s;
              try {
                   hostAddress = InetAddress.getByName(null);
              } catch(UnknownHostException e) {
                   System.err.println("Can not find host");
                   System.exit(1);
              System.out.println(" Welcome ChattingDemo..........");
              System.out.println("Please input your name&#65306; ");
         public void run() {
              try {
                   String strSent;
                   BufferedReader rd = new BufferedReader(new InputStreamReader(System.in));
                   String name = rd.readLine();
                   while(true) {
                        System.out.print(name + ": ");
                        strSent = rd.readLine();
                        if(strSent == "END") break;
                        s.send(Transfer.toDatagram(strSent, hostAddress, ChattingServer.INPUT));
                        sleep(100);
                   System.exit(1);
              } catch(IOException e) {
              } catch(InterruptedException e) {
    public class ChattingClient extends Thread {
         private static DatagramSocket s, srv;
         private byte[] buf = new byte[1000];
         private DatagramPacket dp = new DatagramPacket(buf, buf.length);
         public ChattingClient(DatagramSocket s) {
              this.s = s;
         public void run() {
              try {
                   while(true) {
                        s.receive(dp);
                        String rcvd = Transfer.toString(dp);
                        System.out.println(rcvd);
                        sleep(100);
              } catch(IOException e) {
                   e.printStackTrace();
                   System.exit(1);
              }catch(InterruptedException e) {
         public static void main(String[] args) {
              try {
                   srv = new DatagramSocket();
              } catch(SocketException e) {
                   System.err.println("Can not open socket");
                   e.printStackTrace();
                   System.exit(1);
              new ChattingClient(srv).start();
              new Sender(srv).start();
    }

    Hello Amir,
    ACS used to tie the license to the MAC address of the machine but I believe Cisco removed that in version 5.1 or 5.2 as users were facing with issues if the MAC changed on a virtual machine. 
    Other Cisco products, such as the ASA, Call Manger, and even ISE are a lot more restrictive when it comes to licensing. However, Cisco in general has many products that are licensed on the "honor system" where you are responsible for reporting and paying for everything that you are using. 
    Also, I suppose Cisco could audit any companies out there and figure out what the company is using vs what it actually paid for :)
    I hope this helps!
    Thank you for rating helpful posts!

  • Agentry client default server list

    Hi Experts,
    How to maintain a list of default servers on the Windows Agentry client and ATE for SMP 3.0 Agentry application?
    We need to key-in server details every time we reset the client and connect to other servers.
    Thanks!
    Tags edited by: Michael Appleby

    This was a list of server that the Agentry Server broadcasted to the Subnet.  But with SMP 3.0 This is no longer valid screen as it wouldn't transmit the FQDN or the SubURL.
    I would recommend building a client with the server information already and then give this client to your users.
    Stephen

  • Can I broadcast live video for 1000 users?

    Hi:
    Is possible, using Flash Media Server, broadcast live video
    for 1000 users?,
    how much bandwidth do I need?,
    What system requeriment is need for this load (in linux)?,
    What maximum video size and fps is possible to get?
    regards,
    Christian

    You should have no problem serving a stream to 1000 users on
    a single server (a dual xeon/2bg ram box ought to do it).
    Your bandwidth requirements will depend on the bitrate of the
    video stream. Multiply the stream bitrate by the number of users
    (plus 1 for the publisher), and you'll get your bandwidth figure.
    For example, if the video is published at 300kbps, you'll use
    about 290mbps for your 1000 users.
    For the video size, I wouldn't go much larger than 640x480.
    The flashplayer doesn't use the video card to render video, and
    redrawing the screen with a large video chews through lots of
    processor cycles very quickly.

  • Multiplayer game: how to synchronize client and server

    Hi there, I'm wondering how to synchronzie client's and server's frame number?
    I have a multiplayer spaceship(2D) game running at constant 30 FPS, since I use "frame number" to determine if a packet is too late or not, so I would like to have server and client both start frame 1 at the same time, but I have no idea how to do so, can anyone give me a hint?
    well, if you want more details(may not be too much relevant to my problem, but any way, for anyone who interested):
    I use UDP(my teammate implemented a TCP version, it's working but TCP is just way too stupid, lagging and some unknown problems produce very funny result). So far, on client side, input(key strokes) is sent via network immediately, but processed 2 frames later locally. So on lan, server will likely get the packet before it's time to process it, thus solve the packet delay problem a little bit).
    Example: If user pressed fire button at frame 5, it's sent immediately to server, then at frame 7, client engine processes this "fire" event, and likely, server will get this packet at frame 6 or 7, then it can just processes it in time as well.
    So there's a problem, server and client must both running the same frame number at the same time(maybe not exact, but gotta be very close).
    By the way, I need some suggestions implementing the server, my brain hurts just thinking about it, I hope I will never have to code network stuff again: Server runs at 30FPS(but only broadcast game state at 6FPS), it just sit there between frame 1~4, get all packets and store them, then between frame 4~5, processes all the packets recieved, then broadcast the result(game state), client recieves it, will treat this game state as "correct game state for frame 5". I use this way because it solves packet delay and out of order packet to some extend.
    However, say, if server broadcasts the game state for frame 5 at frame 5, then client is likely to recieve it at frame 7 or even later, how can client use it?
    So, together, if you have suggestion or solution for my server and client implementation, please let me know, thanks heaps. I'm in quite a desperation at the moment.
    P.S: I also posted this synchronizing problem at the socket programming forum, hope you guys (and girls) dont mind, since this is a place talking about game, that is a place talking about network, so I thought might be good to have suggestions from people in different programming area.

    Why does the client need to have the same frame number as the server? I think a good way to do it would be as follows:
    - Client sends all of the user's commands to the server (i.e. accellerate left, accellerate right, start firing, etc).
    - Server processes these to update game state and every so often sends updates to the clients, saying something like "at frame 7, user X is at (10, 10) and user Y is at (20,20) and firing south".
    - Clients process all updates from the server, as long as it hasn't seen any update from a later time yet. So if it recieves the update from time 10 before the update from time 9, it only does the one from time 10. It tries to move things smoothly, taking into average time between updates (if there are 100 ms between updates and on the next frame, user X should move 10 units, then move 1 unit every 10 ms).
    By the way, it is possible to use TCP in games. Most MMORPG games use it. I don't know whether it's fast enough for a spaceship game, but it might be worth trying to fix the code you have. Try to keep packets small (use bytes for event type codes, player numbers, etc), group multiple events into one packet if they are all available at the same time, flush() the output stream as soon as you send one, and don't use a buffered stream or reader when reading them.

  • Filedpoint / labview use of digi port server

    Has anyone accessed digi terminal severs from fieldpoint hardware to increase available rs-232 ports to fieldpoint.  I have found the NI equivalent product (enet) solution http://zone.ni.com/devzone/conceptd.nsf/webmain/85​0F5C45DB8A80AD86256E62007EE351
    but since we already have some of the digi products here (TS4) I would like a solution to use them.
    Any hints or directions I can look for resources???
    Thanks
    Andrew

    Thanks Sean,
    This is the conclusion I had come to as well.  I tried TCP/IP and
    it worked.  however only one connection possible at a time. 
    Then I moved on to UDP.  I can connect with multiple machines to
    read the data stream.  Yes, UDP has no "guarantee" of getting the
    data through.
    Here is what I have so far.
    Test setup
    Serial device:   Climatronics Tachmet weather station -
    provides a 1 second output of inst Id/ws/wd/temp/rh/press/volts.
    Server:    Digi  One SP - setup for UDP multibroadcast to X.X.X.255 on port 210X
    VI - opens multiUDP on 210X.  Reads UDP and filters the port for 2101 (Server broadcasts on this port only) and server IP.
    Seems to work.  I have a couple of machines both reading from it simultaneously.
    Comments and suggestions are welcome.
    Here the test VI
    Andrew S.
    Message Edited by andrews on 09-30-2005 09:53 AM
    Attachments:
    udp read test4.vi ‏55 KB

  • Live A/V Broadcast How to support both High & Low bandwidth users ?

    Hello there
    I have been working on a requirement where I need to
    broadcast live audio and video feeds
    to Flash Media Server from where it gets broadcasted to our
    customers. We have two types of
    customers: High bandwidth and Low bandwidth.
    Now could anyone please tell me what kind of scripting is
    required at the server end so that
    the Media server broadcasts to these two level of user groups
    at same time. How do we control
    the live feeds received at the Media server ? How do I
    control the amount of bandwidth that at server
    side based on the received feed so that I can broadcast to my
    users based on their capacity ?
    I tried running two separate flash application pulling the
    feeds from SAME camera but that didn't
    work as changing the settings (like Camera.setMode..) on one
    program affects the settings on other
    program(as both programs are connected to same camera/mic). I
    do not want to buy two separate
    cameras/mic to support both high/low bandwidth users. I would
    need to do it programatically.
    Could anyone please let me know your thoughts, it would be
    very helpful to me and others.
    Many thanks,
    -Sakthik

    Thanks Charles for your reply. I didn't know that FMS doesn't
    support this feature. So you mean to say that there aren't any
    other ways to control live feeds at server side ?
    I would try your suggestion on setting the bandwidth and FPS
    at client side but I am not sure how effective will it be because
    the Server is going to push a high bandwidh data to a 56 Kbps
    pipeline. There will be lot of data loss due to this narrow
    pipeline. Do you think that applying setBandwidth and setFPS on
    this narrowed data is going to be effective ? I dont think so, what
    do you say ?
    How exactly does this setBandwidth and setFPS works ? When
    will it modify the data ? Will it modify the data after or before
    receiving it at the client end ?
    Please share your thoughts on this.
    Many thanks,
    -Sakthik

Maybe you are looking for

  • Packing specifications at Delivery

    Hi Plz guide me how to maintain packing specification or packing materials at delivery ..... so that i can enter material specification against each item  ....thnx

  • 404 ERROR WHILE RUNNING A SERVLET

    hi i have written servlet program that takes a cookie value from a HTML page.... while running the HTML page i have been getting the error The page you are looking for might have been removed, had its name changed, or is temporarily unavailable. Plea

  • Distorted audio from headphone socket after iOS 5 update!

    Hi, I have an iPad2, and just yesterday updated my iOS to version 5.1. Everything went fine until I checked some audio via my headphone socket this morning. It was grossly overdistorted. I used another pair of headphones and the same thing happened,

  • Script execution in RAC

    We have a 2 node RAC in place with different DB names like dev1 in one node and dev2 in another node. DB is up and running . Now I need to create tablespace, schemas ,objects etc. DO I need t execute the scripts in both nodes of the RAC? .How this wi

  • HT1918 Unable to purchase on ios device after updating payment details on computer

    I have done two things to my apple ID account on my mac: 1. Updated the email address 2. Changed payment details. After the above mentioned operations, I log out of my apple ID account on my ipod touch and re-logged in. But when I tried to purchase a