Client/server - sending ArrayList over network

Hi all
I have have written a multithreaded client/server application where multiple clients connect to the server. For each client, the server spawns a new thread to handle the connected client. When a client connects to the server, the client sends its name to the server. The server stores the name in an ArrayList and sends the whole ArrayList to all the connected clients.
It worked fine a few days ago. But now I have a problem: When I send the ArrayList to all the connected clients then only the newly connected client gets the updated ArrayList while the previously connected clients get the ArrayList that they got previously i.e. they are not updated. If instead of sending an ArrayList, I just send the name of the newly connected client to all other connected clients then it works i.e. each client gets updated with that name. It also works fine if I just send an Integer value to all the clients upon a new connection.
I know the ArrayList implements Serializable, but I dont know how it doesnt work anymore!
Plz help me with this. I have been trying all combinations, but no luck so far.
thank you
taurean

thank you jwentling
to make sure that we are on the same page, here is the relevant code.
This method updates the list of the peers' names on the Gui (that extends JFrame).
public void update(final ArrayList dataPacket)
          SwingUtilities.invokeLater(new Runnable()
               public void run()
                    setTitle(dataPacket.toString());
                    peerList.setListData(dataPacket.toArray());
                    peerList.updateUI();
     }This inner class continuously listens to server to get the arraylist that contains the names of the other peers/clients that are connected.
The con varibale is the Connection where I obtain input/output streams for this client.
Note: con.getInputStream() returns ObjectInputStream.
     private class Listener implements Runnable
          public void run()
               while(true)
                    ArrayList dataPacket = (ArrayList) Receiver.receiveObject(con.getInputStream());
                    if (dataPacket != null)
                         update(dataPacket);
     }Here is how the static receiveObject() metod looks like:
public static Object receiveObject(ObjectInputStream stream)
          Object obj = null;
          try
               obj = stream.readObject();
          catch(ClassNotFoundException cnfe)
               System.out.println(cnfe.getMessage());
          catch(IOException ioe)
               System.out.println(ioe.getMessage());
          return obj;
     }i think that the receiveObject() method should return the updated list (sent from server), but i get the previoulsy sent list fromt his method!!!
Has it to do something with the stream? I mean could it be that the list is still in the stream (as you pointed out) and instead of the updated list, i just get the one from the stream that i got initially?!
thank you for ur time

Similar Messages

  • Urgent help:send image over network using rmi

    hi all,
    i have few question about send image using rmi.
    1) should i use ByteArrayOutputStream to convert image into byte array before i send over network or just use fileinputstream to convert image into byte array like what i have done as below?
    public class RemoteServerImpl  extends UnicastRemoteObject implements RemoteServer
      public RemoteServerImpl() throws RemoteException
      public byte[] getimage() throws RemoteException
        try{
           // capture the whole screen
           BufferedImage screencapture = new Robot().createScreenCapture(new     Rectangle(Toolkit.getDefaultToolkit().getScreenSize()) );
           // Save as JPEG
           File file = new File("screencapture.jpg");
           ImageIO.write(screencapture, "jpg", file);
            byte[] fileByteContent = null;
           fileByteContent = getImageStream("screencapture.jpg");
           return fileByteContent;
        catch(IOException ex)
      public byte[] getImageStream(String fname) // local method
        String fileName = fname;
        FileInputStream fileInputStream = null;
        byte[] fileByteContent = null;
          try
            int count = 0;
            fileInputStream = new FileInputStream(fileName);  // Obtains input bytes from a file.
            fileByteContent = new byte[fileInputStream.available()]; // Assign size to byte array.
            while (fileInputStream.available()>0)   // Correcting file content bytes, and put them into the byte array.
               fileByteContent[count]=(byte)fileInputStream.read();
               count++;
           catch (IOException fnfe)
         return fileByteContent;           
    }2)if what i done is wrong,can somebody give me guide?else if correct ,then how can i rebuild the image from the byte array and put it in a JLable?i now must use FileOuputStream but how?can anyone answer me or simple code?
    thanks in advance..

    Hi! well a had the same problem sending an image trough RMI.. To solve this i just read the image file into a byte Array and send the array to the client, and then the client creates an imegeIcon from the byte Array containing the image.. Below is the example function ton read the file to a byte Array (on the server) and the function to convert it to a an imageIcon (on the client).
    //      Returns the contents of the file in a byte array.
        public static byte[] getBytesFromFile(File file) throws IOException {
            InputStream is = new FileInputStream(file);
            // Get the size of the file
            long length = file.length();
            // You cannot create an array using a long type.
            // It needs to be an int type.
            // Before converting to an int type, check
            // to ensure that file is not larger than Integer.MAX_VALUE.
            if (length > Integer.MAX_VALUE) {
                // File is too large
            // Create the byte array to hold the data
            byte[] bytes = new byte[(int)length];
            // Read in the bytes
            int offset = 0;
            int numRead = 0;
            while (offset < bytes.length
                   && (numRead=is.read(bytes, offset, bytes.length-offset)) >= 0) {
                offset += numRead;
            // Ensure all the bytes have been read in
            if (offset < bytes.length) {
                throw new IOException("Could not completely read file "+file.getName());
            // Close the input stream and return bytes
            is.close();
            return bytes;
        }to use this function simply use something like this
    public byte[] getImage(){
    byte[] imageData;
              File file = new File("pic.jpg");
              // Change pic.jpg for the name of your file (duh)
              try{
                   imageData = getBytesFromFile(file);
                   // Send to client via RMI
                            return imageData;
              }catch(IOException ioe){
                           // Handle exception
                           return null; // or whatever you want..
    }and then on the client you could call a function like this
    public ImageIcon getImageFromServer(){
         try{
              // get the image from the RMI server
              byte[] imgBytes = myServerObject.getImage();
              // Create an imageIcon from the Array of bytes
              ImageIcon ii = new ImageIcon(imgBytes);
              return ii;
         }catch(Exception e){
              // Handle some error..
              // If yo get here probably something went wrong with the server
              // like File Not Found or something like that..
              e.printStackTrace();
              return null;
    }Hope it helps you..

  • Sending images over network socket

    I'm working on a java web server. So far i have managed to get it to send html documents sucessfully to the client web browser, using a BufferedReader, and a PrintWriter object.
    But how should i send images over the socket? using this method doesn't work. Any suggestions?
    Thanks in advance.
    hornetau

    I did it first. You may pay me $10 and get XM2 WebServer 1.2 from my company.
    Ok, I'll help ya out here...
    HTTP protocol in Internet Explorer is "juiced up" meaning that it does not require HTTP data to be correctly sent. To send an image to be deisplayed...
    <html>
    <img src="theImage.gif"></img>
    </html>
    Now, the server will see a GET request like this...
    GET /theImage.gif HTTP/1.1
    Accepts: Image/jpeg, Image/gif, ...
    Your web server (in the IE case just needs to send)...
    output.println(data);
    The data object is a string, that represents the contents of the image.
    To do that, just get the correct File object, connect reader to it, then loop it
    until the reader is no longer ready (reader.ready() != true), as it loops, just append
    the readLine() command to the end of the data string and it will be ok.
    Now this works on IE just fine, using vary small file sizes due to it being loaded directly into
    memory. Casing problem if your app has only 500K of memory and the file size is 700K, 500-700=-200K, so use only small file sizes with this method.
    There is also the URLConnection and HttpURLConnection classes to use that will do this better, but
    they dont have any real way of getting the file's data - that's still YOUR job.

  • Client Server product installation over Windows Terminal Server

    Hi,
    Have anyone tried installing oracle based client/server applications over WTS? I have a specific requirement wherein my WAN is connected on low speed lines. I've tried this installation but the performance seems to degrade very badly. Can you suggest me a solution to this issue. Further I'm facing problems when trying to print on Local printers. Any ideas???
    Thank in advance
    vinod

    Please see http://otn.oracle.com/products/forms/htdocs/formsservicesfaq.html
    It's stated here that this kind of installation is not supported. You would need to post a question on the Forms Forum for more details.
    Regards,
    Danny

  • Problem with sending message over network

    ssc = (ServerSocketConnection) Connector.open("socket://:5000");
    sc = (SocketConnection) Connector.open("socket://localhost:5000");my app works over the network in the emulator, but wont work on real devices, or do i just need to pair somehow with the device before i start.
    are the above lines okay is it meant to be localhost that's what they use in the socket part of the network demo that comes with the wireless toolkit, anyone have any ideas why that app doesnt seem to work for me on the real devices.
    i know for bluetooth you have to pair with the device before running the application do you have to do something like this

    Vishal,
    Couple of questions. 
    How are you sending this message.  Is it a message that you create and send Internally with an attachment.
    As you reply me, please also check if the <b>Attachments folder</b> has been set under <b>Administration > System Initialization > General Settings.....Path Tab</b>
    SBO tries to copy the attachment from the location you select to the Path defined for Attachments.
    Let me know
    Suda

  • Sending HashMap over network

    hi there,
    Is there any way I can get around this HashMap bug?
    http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4756277
    I tried to write a HashMap object over a network and the following exception was generated:
    java.io.NotSerializableException: java.util.HashMap$EntrySet
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
    Regards,

    Due to this bug you can't use serialization mechanism on HashMap. A workaround should be to implement a SerializedHashMap class which extends HashMap and reimplement method for serialization. Methods to reimplement are:private void writeObject (java.io.ObjectOutputStream out) throws IOException;and
    private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException;You can found useful tips of about write your code here: java.sun.com/docs/books/tutorial/essential/io/objectstreams.html

  • Stream vs Write (Client-Server)

    Hi,
    Ok, heres the problem, if someone can help me out it would be great! I am new to networking , and new to Java as well. I am trying to learn networking in Java by creating a simple Client-Server program.
    Heres my Server :
    import java.net.*;
    import java.io.*;
    public class MyServer {
         public static final int port = 8888;
         public static void main(String[] args) {
              ServerSocket serverSocket = null;
              Socket clientSocket = null;
              PrintStream os;
              try {
                   serverSocket = new ServerSocket(port);
                   System.out.println("Server initialized");
                   System.out.println("Waiting for connection");
                   clientSocket = serverSocket.accept();
                   if(clientSocket.isConnected()) {
                        os = new PrintStream(clientSocket.getOutputStream());
                        os.print("Server: Connection established!");
              } catch (IOException e) {
                   System.out.println(e);
                   System.exit(1);
    }Here's my Client:
    import java.io.DataInputStream;
    import java.io.PrintStream;
    import java.net.*;
    import java.io.*;
    public class MyClient {
         public static final int port = 8888;
         public static void main(String args[]) {
              Socket clientSocket = null;
              DataInputStream is;
              try {
                   clientSocket = new Socket("localhost", port);
                   System.out.println("ClientSocket Initialized!");
                   if (clientSocket.isConnected()) {
                        is = new DataInputStream(clientSocket.getInputStream());
                        String response;
                        while ((respon... [Show more]

    thx for the reply jverd. I managed to get my Client Server working. Its basically like a chat now, client - server send messages back and forth, however, after they connect, only client can send messages, then after a little while only server can send messages, and this keeps looping. Any idea why? Heres my source:
    Server:
    import java.net.*;
    import java.io.*;
    import java.util.Scanner;
    public class Server {
         public static final int port = 8888;
         public static void main(String[] args) {
              ServerSocket sSoc;
              Socket soc;
              PrintStream os;
              DataInputStream in;
              Scanner scanner;
              try {
                   sSoc = new ServerSocket(port);
                   soc = sSoc.accept();
                   os = new PrintStream(soc.getOutputStream(), true);
                   in = new DataInputStream(soc.getInputStream());
                   System.out.println("Connection established! Initializing server");
                   scanner = new Scanner(System.in);
                   while(true) {
                        String outgoing, incoming;
                        outgoing = scanner.nextLine();
                        os.println(outgoing);
                        if(outgoing.equals("exit")) break;
                        if((incoming = in.readLine())!=null) {
                             System.out.println(incoming);
                        if(incoming.equals("exit")) break;
                   in.close();
                   out.close();
                   soc.close();
                   sSoc.close();
              } catch (IOException e) {
                   System.out.println(e);
    }Client
    import java.net.*;
    import java.io.*;
    import java.util.Scanner;
    public class Client {
         public static final int port = 8888;
         public static void main(String[] args) {
              Socket soc;
              PrintStream os;
              DataInputStream in;
              Scanner scanner;
              try {
                   soc = new Socket("localhost", port);
                   os = new PrintStream(soc.getOutputStream(), true);
                   in = new DataInputStream(soc.getInputStream());
                   System.out.println("Connection established! Initializing Client");
                   scanner = new Scanner(System.in);
                   while(true) {
                        String incoming, outgoing;
                        outgoing = scanner.nextLine();
                        os.println(outgoing);
                        if(outgoing.equals("exit")) break;
                        if((incoming = in.readLine())!=null) {
                             System.out.println(incoming);
                        if(incoming.equals("exit")) break;
                   in.close();
                   out.close();
                   soc.close();
                   sSoc.close();
              } catch (IOException e) {
                   System.out.println(e);
    }Edited by: b-2_spirit on Sep 21, 2010 10:41 PM
    Edited by: b-2_spirit on Sep 21, 2010 10:42 PM

  • BBM over network. STILL DOWN

    When sending BBM over network (EE uk) all I have is a red clock. This has been doing this since Monday last week. Come on BB sort yourselves out. EE say they have raised loads of tickets re this issue. its not just ee. over other networks as well it would seem. 
    BB Europe say they have not got an issues at present. 
    Who is telling the truth? 

    I've been chatting off and on all week with friends in Europe, first I've heard of any anthing being down.
    Do a simple reboot on the BlackBerry in this manner: With the BlackBerry device POWERED ON, remove the battery for a minute, and then reinsert the battery to reboot. A reboot in this manner is prescribed for most glitches and operating system errors, and you will lose no data on the device doing this.
    1. If any post helps you please click the below the post(s) that helped you.
    2. Please resolve your thread by marking the post "Solution?" which solved it for you!
    3. Install free BlackBerry Protect today for backups of contacts and data.
    4. Guide to Unlocking your BlackBerry & Unlock Codes
    Join our BBM Channels (Beta)
    BlackBerry Support Forums Channel
    PIN: C0001B7B4   Display/Scan Bar Code
    Knowledge Base Updates
    PIN: C0005A9AA   Display/Scan Bar Code

  • Send BufferedImage over the network

    I have already successfully setup a client/server connection. The issue, is when I send the BufferedImage over the network, it says:
    "Caused by: java.io.NotSerializableException: java.awt.image.BufferedImage"
    Can someone please tell me how to fix this?

    Like the exception say, BufferedImage is not serializable. You cannot serialize it. The problem will go away if you don't try to serialize it. Of course, that doesn't answer the question you really meant to ask... which I'll leave for somebody else.

  • Simplest possible client-server for file sending...

    Hi im trying to create a simple client-server application using sockets.
    All i want the server to do i listen for the client to send him a file.
    Then maby later i'll implement some other stuff like resuming and stuff like that.
    And so the client application is only supposed to send a specified file to the server...
    However, all the examples and tutorials i've found on the net are either to complex or only dealing with textfiles. I dont need the client to specify what type of file it is just send it in byteform or whatever so that the server can write it to disk.
    I get a migraine from all the different types of input/output streams and i dont know which one to use and so on.
    If anyone has a good tutorial or example code somewere (seems to me this should be considred very basic stuff) please enligthen me :-)
    all help will be appreciated
    thanx
    /Eric

    Yep, O rielly - Networking for Java, not sure exact title, or any basic JAva network book. They start out with a simple app and over chapters add to it, you could stop where you want.....

  • Help! Saving an image to stream and recreating it on client over network

    Hi,
    I have an application that uses JDK 1.1.8. I am trying to capture the UI screens of this application over network to a client (another Java app running on a PC). The client uses JDK 1.3.0. As AWT image is not serializable, I got code that converts UI screens to int[] and persist to client socket as objectoutputstream.writeObject and read the data on client side using ObjectInputStream.readObject() api. Then I am converting the int[] to an Image. Then saving the image as JPEG file using JPEG encoder codec of JDK 1.3.0.
    I found the image in black and white even though the UI screens are in color. I have the code below. I am sure JPEG encoder part is not doing that. I am missing something when recreating an image. Could be colormodel or the way I create an image on the client side. I am testing this code on a Win XP box with both server and client running on the same machine. In real scenario, the UI runs on an embedded system with pSOS with pretty limited flash space. I am giving below my code.
    I appreciate any help or pointers.
    Thanks
    Puri
         public static String getImageDataHeader(Image img, String sImageName)
             final String HEADER = "{0} {1}x{2} {3}";
             String params[] = {sImageName,
                                String.valueOf(img.getWidth(null)),
                                String.valueOf(img.getHeight(null)),
                                System.getProperty("os.name")
             return MessageFormat.format(HEADER, params);
         public static int[] convertImageToIntArray(Image img)
             if (img == null)
                 return null;
            int imgResult[] = null;
            try
                int nImgWidth = img.getWidth(null);
                int nImgHeight = img.getHeight(null);
                if (nImgWidth < 0 || nImgHeight < 0)
                    Trace.traceError("Image is not ready");
                    return null;
                Trace.traceInfo("Image size: " + nImgWidth + "x" + nImgHeight);
                imgResult = new int[nImgWidth*nImgHeight];
                PixelGrabber grabber = new PixelGrabber(img, 0, 0, nImgWidth, nImgHeight, imgResult, 0, nImgWidth);
                grabber.grabPixels();
                ColorModel model = grabber.getColorModel();
                if (null != model)
                    Trace.traceInfo("Color model is " + model);
                    int nRMask, nGMask, nBMask, nAMask;
                    nRMask = model.getRed(0xFFFFFFFF);
                    nGMask = model.getRed(0xFFFFFFFF);
                    nBMask = model.getRed(0xFFFFFFFF);
                    nAMask = model.getRed(0xFFFFFFFF);
                    Trace.traceInfo("The Red mask: " + Integer.toHexString(nRMask) + ", Green mask: " +
                                    Integer.toHexString(nGMask) + ", Blue mask: " +
                                    Integer.toHexString(nBMask) + ", Alpha mask: " +
                                    Integer.toHexString(nAMask));
                if ((grabber.getStatus() & ImageObserver.ABORT) != 0)
                    Trace.traceError("Unable to grab pixels from the image");
                    imgResult = null;
            catch(Throwable error)
                error.printStackTrace();
            return imgResult;
         public static Image convertIntArrayToImage(Component comp, int imgData[], int nWidth, int nHeight)
             if (imgData == null || imgData.length <= 0 || nWidth <= 0 || nHeight <= 0)
                 return null;
            //ColorModel cm = new DirectColorModel(32, 0xFF0000, 0xFF00, 0xFF, 0xFF000000);
            ColorModel cm = ColorModel.getRGBdefault();
            MemoryImageSource imgSource = new MemoryImageSource(nWidth, nHeight, cm, imgData, 0, nWidth);
            //MemoryImageSource imgSource = new MemoryImageSource(nWidth, nHeight, imgData, 0, nWidth);
            Image imgDummy = Toolkit.getDefaultToolkit().createImage(imgSource);
            Image imgResult = comp.createImage(nWidth, nHeight);
            Graphics gc = imgResult.getGraphics();
            if (null != gc)
                gc.drawImage(imgDummy, 0, 0, nWidth, nHeight, null);       
                gc.dispose();
                gc = null;       
             return imgResult;
         public static boolean saveImageToStream(OutputStream out, Image img, String sImageName)
             boolean bResult = true;
             try
                 ObjectOutputStream objOut = new ObjectOutputStream(out);
                int imageData[] = convertImageToIntArray(img);
                if (null != imageData)
                    // Now that our image is ready, write it to server
                    String sHeader = getImageDataHeader(img, sImageName);
                    objOut.writeObject(sHeader);
                    objOut.writeObject(imageData);
                    imageData = null;
                 else
                     bResult = false;
                objOut.flush();                
             catch(IOException error)
                 error.printStackTrace();
                 bResult = false;
             return bResult;
         public static Image readImageFromStream(InputStream in, Component comp, StringBuffer sbImageName)
             Image imgResult = null;
             try
                 ObjectInputStream objIn = new ObjectInputStream(in);
                 Object objData;
                 objData = objIn.readObject();
                 String sImageName, sSource;
                 int nWidth, nHeight;
                 if (objData instanceof String)
                     String sData = (String) objData;
                     int nIndex = sData.indexOf(' ');
                     sImageName = sData.substring(0, nIndex);
                     sData = sData.substring(nIndex+1);
                     nIndex = sData.indexOf('x');
                     nWidth = Math.atoi(sData.substring(0, nIndex));
                     sData = sData.substring(nIndex+1);
                     nIndex = sData.indexOf(' ');
                     nHeight = Math.atoi(sData.substring(0, nIndex));
                     sSource = sData.substring(nIndex+1);
                     Trace.traceInfo("Name: " + sImageName + ", Width: " + nWidth + ", Height: " + nHeight + ", Source: " + sSource);
                     objData = objIn.readObject();
                     if (objData instanceof int[])
                         int imgData[] = (int[]) objData;
                         imgResult = convertIntArrayToImage(comp, imgData, nWidth, nHeight);
                         sbImageName.setLength(0);
                         sbImageName.append(sImageName);
            catch(Exception error)
                error.printStackTrace();
             return imgResult;
         }   

    While testing more, I found that the client side is generating color UI screens if I use JDK 1.3 JVM for running the server (i.e the side that generates the img) without changing single line of code. But if I use JDK 1.1.8 JVM for the server, the client side is generating black and white versions (aka gray toned) of UI screens. So I added code to save int array that I got from PixelGrabber to a text file with 8 ints for each line in hex format. Generated these files on server side with JVM 1.1.8 and JVM 1.3. What I found is that the 1.1.8 pixel grabber is setting R,G,B components to same value where as 1.3 version is setting them to different values thus resulting in colored UI screens. I don't know why.

  • Sending Video over the wireless network

    I am considering capturing images from a IEEE 1394 camera and sending it over the Wireless network to another computer.  The reason we want to do that is to make the
    camera device light and portable by connecting it to a portable tablet computer.
    What kind of protocol is the best way to transfer the image. The TCP or UDP in labview convert data into string before the transmission which are very inefficient. I just want to streaming the raw image data, maybe with some protocol overhead.  Did National Instrument has any package to do that or any other software packages available?
    There might be another solution is to use the Ethernet cameras instead of 1394 cameras.
    Would it be possible for the Labview application on a remote desktop computer to acquire the Ethernet camera over a WiFi wireless connnetction in between ?
    Thanks
    Cindy

    Hello Cindy,
    If you want to transfer data across a
    network, TCP would be the most efficient method (wireless is typically not as
    successful as Ethernet due to the overhead).  There is actually a very useful knowledgebase
    document that discusses the various methods used to transfer image data across
    a network.  If you go to our main site http://www.ni.com and search using the keywords “Images
    Over Network”, the first link is entitled Streaming
    IMAQ Images Over a Network (or Internet) which gives brief descriptions if
    you choose to use TCP/IP, Datasocket, LabVIEW web server, or ActiveX.  Another very informative document results in
    that same search and is titled Transfer Images Over the Network
    which actually gives examples
    illustrating different ways to send images.  I hope this helps.  Please let us know if you would like further
    clarification or assistance regarding this issue.Vu D

  • Edge Server send RST packet to Client

    Hi all,
    I'm meeting an issue, please help me!
    I'm setting up a testing LAB. After I deployed Edge Server, everything may be fine. But Client connects to Edge server, after TLS handshake, the server send RST packet to
    Client. Please refer picture below.
    I used CA built on Domain Controller server to assign Cert to internal and external interface of Edge server. I know I should use a public CA on Internet to assign Cert to external interface, but I'm setting LAB for testing, so I used internal CA. And my
    domain internal and external are the same (e.g: internal is edge.sip96x2.com and external is access.sip96x2.com). From Client, I installed Root CA Cert downloaded from CA on Domain Controller. Client from external doesn't
    have DNS server, instead of using Hosts file, the Host file includes:
    "100.20.252.12     access.sip96x2.com"
    I don't know what is information need to show here, if you required any information, please let me know, thanks so much!

    To work with your Lync Client from External over the edge, the Lync Client has to reach
    Access Edge, Audio/Video Edge and Web Edge IP.
    To login to your Lync Edge you can use the lync Manual Configuration access.sip96x2.com:443.
    You should use the host fqdn for internal Connection and the three needed External FQDN for the edge.
    To use a private CA ist allways possible for a Lab.
    http://ocsguy.com/2010/11/21/deploying-an-edge-server-with-lync/
    regards Holger Technical Specialist UC

  • Networked client-server applications (newbie)

    Hello everyone,
    (Apologies if this post is irrelevant for this particular forum :)
    As I understand peer-to-peer networks, separate instances of application software are installed on 'each' computer, and files are then shared by everyone logged on. My query regards client-server networks (i.e. a centralized server with less powerful client computers attached to it): Would someone please explain (and possibly point to additional resources) how applications are installed on these networks? In particular, is it true that there's only one instance of application software (e.g. MS Word) installed on the central server, and that this is then somehow shared by all the connected users? ... and if not, is it possible to have such an arrangement, so that when it comes to upgrading any application software, the update only happens at one location (instead of on each client machine)? Thanks very much for your time.

    Guy: Thanks so very much :)
    I see now. I was specifically wondering about networks involving WinNT / 'Win 2000 Server' as the 'central' server OS, but think that these would involve heavier clients than the mainframe example.
    I assume that in a Win NT client-server network, if a client wanted to run a program (e.g. MS Word), the Win NT OS would transfer a 'copy' of the MS Word executable to the client machine where it would run and consume the resources of the client. Win NT would do this again for any other client, and so ultimately there would only be one 'stored' copy of MS Word. Also, given copies of executables are transefered, resources of the clients are used up, resulting in medium 'weight' clients with relatively less central server load.
    It'd be great if you could verify this assumption,
    Regards, SP.

  • Client/Server network traffic.

    I don't know if here is the right forum to ask it, but let's go on.
    Nowadays we a system on Forms 4.5/windows/Oracle 8.0
    We have some clients machines linked to the server by a Frame-Relay link and we use Windows 2000 Terminal Server to reduce the network traffic.
    Well, we are gonna update to Forms 6i/Oracle 8i.
    I would like to know if Forms Server can be a good option to Windows 2000 Terminal Server.
    If I haven't been clear with my question I'll can do it again. I'm new on Forms 6i and I've just installed it to test (It hasn't been working yet....)
    Thanks in advance
    Ronaldo.

    This could provoke quite a discussion.
    "If your client are on slow links you may, for example query 10,000 rows of data. "
    Generally, forms shouldn't be pulling back tens of thousands of rows from the database. Your user is unlikely to page through that much, so either you want a summary (which is best calculated on the database server and the summary results dragged across the network) or you are paging through records in the tens, not tens of thousands. (Look at the 'Number of recods buffered' property in your base table blocks. Bet it's one or two digits, not five!)
    "The information that is transmitted to the client is basically screen draw information - and this will be alot less than the 10,000 rows you were querying before. "
    As above. In client/server you shouldn't have been bringing stuff from the database down to the client that wasn't going to be on the screen anyway, especially if you had a slow network.
    Depending on how your application is written, it could well peform a lot worse on the web than in client server. Rather than having the client do a fair share of the work, it's now got to keep talking to the application server to get anything done.
    For example, because navigation triggers don't allow the use of restricted built-ins, rather than putting code in a 'post-text-item/when-validate-item' trigger on the relevant item, it gets put in a form level 'when-new-item-instance' trigger. It's a bit untidy in client/server but workable. Put it on the web, and every time the user tabs between fields, the form has to go off to the application server to fire the when-new-item-intance trigger to tell it what to do next.
    Another 'speed-bump' is if you have any synchronize bits (eg in a post-query trigger, or as part of a "I'm 10% complete" information messages in long running loops). These will also generate network traffic between the app server and form.
    While web server does have advantages, I wouldn't be selling it on it's performance improvements.

Maybe you are looking for

  • Tree size of expanded items

    Hello, I have a MasterColumn to represent a tree-like hierarchy in a table and I wonder how I can retrieve the total number of expanded lines of the tree at runtime, ie retrieving the number "n" that is displayed in the table footer "Row x of n" Than

  • Flash Movie Closing - leaving "sub" movies running

    I'm not a Flash guy, but have an app to maintain which has a Flash front end. There is a main movie - background.swf and it loads a bunch of "sub" movies - mainly graphs and other panels of information. Something is sometimes causing the main movie -

  • What's a great, affordable Mini-DV camcorder to buy for Final Cut?

    I just got a MacBook Pro and Final Cut Express. What's a great Mini-DV camcorder to buy if I was to get my feet wet with video editing? I've just graduated from film school, looking to make short films and short documentaries. Does anyone know what a

  • MSI Z68A-GD65 (B3) Continuous Boot Cycle

    My Mainboard was running flawlessly, but yesterday when power on the system...I found that Continues boot cycle. The computer turns on for a few seconds then powers off. This cycle repeats every 5-10 seconds. Z68A-GD65 (B3) http://www.msi.com/product

  • I reset password now I can't purchase or download anything from ITunes

    Had a security breach with my IPad. Actually my wife remotely turned on my find my IPad service to track every where I go. Not sure how she did it, she knows answers to my security questions, and password tendencies.  So anyway I reset my password fo