How to handle received data after client timeout

I believe this is a common question and sorry if it is asked and answered before. I didn't find the answer.
I have a client/server app. there mainly two threads. one is to handle my regular GUI command, and the other one is to check if the server is still alive by sending ping command every 5 seconds. I set the client timeout 10 seconds. My problem is as the following:
1. client sends a command CMD
2. Client timeout after 10 seconds
3. The background thread sends a Ping command
4. Client received the response for the first command CMD
5. then the client assume the response is for the Ping CMD and mismatched!
I am thinking about using the following ways to handle this issue, wondering if anyone could let me know if they are ok and which one is better. OR there could be a better solution altogether.
Method 1 - if client time out, close everything, consider server is dead. try to re-establish connection again
method 2 - attach a ticket to each command and response, so that they can be matched regardless the order it is receive.
Thank you very much!
livz

Thanks for all the replies.
I use the ping to check if the server is connected and a lot of my GUI functions are enabled/diabled based on whether the server is in presence. for example, certain buttons or operations are disabled if the server is disconnected. I didn't find a better way to handle this. Please advice if there is anything better.
10 seconds was randomly chosen based on experience. It works most of the time but sometimes it times out.
again, thanks a lot for any advice!
livz

Similar Messages

  • In  BDC how you handled header data and item data

    In  BDC how you handled header data and item data

    Raja,
    Can you be more clear ?
    Usually you load the header data one and then loop at the item data and then load the item data.
    This example should help you.
    http://www.sap-img.com/abap/bdc-example-using-table-control-in-bdc.htm
    Regards,
    Ravi
    Note - Please mark all the helpful answers

  • How do i save data after daughter forgetting her pass code without backing up???

    How do I save data after 12 year old daughter forgot pass code before any back up???

    Then there is no way, a reminder why passwords (and backups) matter. Sorry.

  • How to handle time&date

    can anyone tell me how to handle time&date correctly?using Calendar,GregorianCalendar,TimeZone,Locale
    thank you very much

    This is too large a topic to discuss in depth here. Here is a link to a tutorial on times and dates, and a search link that references many documents on the subject.
    http://java.sun.com/docs/books/tutorial/i18n/format/dateintro.html
    http://onesearch.sun.com/search/developers/index.jsp?and=calendar+&nh=100&phr=how+to&qt=&not=&field=&since=&col=javatecharticles&col=javatutorials&col=devall&rf=0&Search.x=20&Search.y=7
    When you have specific questions, just ask.

  • How can I validate data after writing and over reboot/powercycle?

    Hi,
    How can I validate data after writes are done? How can I validate data after reboot or powercycle of the machine is done?
    What are the options I should give while running vdbench? When should I use -v, -vq, -vt, -v -j, -vq -j, -vq -jr, -v -jr options?

    Please look for the "Data Validation and Journaling' chapter in the documentation.
    Henk.

  • How to handle empty Dats field received from SAP RFC response

    Hi All,
    I am invoking a SAP RFC which gives me a Dats field in response.
    A valid dats fields is successfully received by my pipelines.
    But when an empty Dats field is received, My pipeline fails and i get error.
    How to handle the empty Dats field from SAP

    Hi Anant,
    This is because the legacy SAP adapter accepted RFC messages with date field empty. In the new version, the same call results in an error. WCF-SAP adapter doesn't allow blank XML nodes.
    You need to use the below custom pipeline component as a workaround.
    Refer:
    Pipeline component for enabling legacy behavior in WCF-SAP adapter.
    Rachit
    Please mark as answer or vote as helpful if my reply does

  • Handle Received data of Multiple TCP clients on TCP Server by displaying them into Datagrid

    Hello All,
    I have developed a C# based TCP server GUI application which is accepting the data from multiple TCP clients on TCP server.
    The data i am receiving from TCP clients is a 32 bit data. In my application multiple TCP client data goes like this:
    00012331100025123000124510321562
    01112563110002512456012451032125 and so on...
    Now i want those data of the TCP clients to be parsed into 4 bits first and display it in 8 columns (32/4=8) of (say) datagrid as each 4 bit represents some characteristics of the TCP client. The same thing
    should work for next TCP client on second row of datagrid.            
    Can you give me some suggestion or an example how to go about this? Any help would be appreciated.
     Thank you in advance.
    Here is my code for receiving data from multiple TCP clients.
    void m_Terminal_MessageRecived(Socket socket, byte[] buffer)
    string message = ConvertBytesToString(buffer, buffer.Length);
    PublishMessage(listMessages, string.Format("Sockets: {0}", message));
    // Send Echo
    // m_ServerTerminal.DistributeMessage(buffer);
    private string ConvertBytesToString(byte[] bytes, int iRx)
    char[] chars = new char[iRx + 1];
    System.Text.Decoder d = System.Text.Encoding.UTF8.GetDecoder();
    d.GetChars(bytes, 0, iRx, chars, 0);
    string szData = new string(chars);
    return szData;

    Now i want those data of the TCP clients to be parsed into 4 bits first and display it in 8 columns (32/4=8) of (say) datagrid as each 4 bit represents some characteristics of the TCP client. The same thing
    should work for next TCP client on second row of datagrid
    If mean it's a Windows Forms application and you want to display those bits in a DataGridView control, then please see these threads:
    Add row to datagridview
    Programmatically add new row to DataGridView
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • How do you receive data from multiple people on a single port?

    I am trying to make a server where it receives the data from multiple users and then send it back to them all- multicasting audio to be exact. I tried setting it up but when i open the RTP session i get "can't open local data port" if i have more than one used connected to me. Does anyone have a solution? I didnt find much on the samples page and the multicast example from http://java.sun.com/products/java-media/jmf/2.1.1/apidocs/javax/media/rtp/RTPManager.html
    didnt help either- i used the same ipaddress for the initialize and addtarget but i get "Local Data AddressDoes not belong to any of this hosts local interfaces". I am really in a pickle... If anyone can help me out that would be great!
    EX: If A,B,C want to multicast they will all send to Server S using port 3000. Server S will create listeners for each of them using port 3000 and when received data it will send back to all of them at 4000. This is what i am trying to do... should i make multiple threads? would that help? thanks and please help!

    To send to everyone, you can send to a multicast address (choose one from 224.0.0.0 to 239.255.255.255), on a given port (2000). I don't have any code example here but it should very similar to unicast. As you said, you just have to register the Session and add a target with this same address.
    I don't have any example myself, but you should find code example of both server and client around. It is a very common usage of jmf rtp.
    I don't know how to mix several audio streams together (never had to do this), so I'm afraid I can't answer your other questions, sorry... The only way to know if it will slow down the transmission is to try. :)

  • In BAPI PO CREATION How to handled errors datas

    Hi friends ,
    In BAPI PO CREATION upload the datas How to handle/capture errors datas.?
    arun

    Hi,
    After completion of the program IT_RETURN table will have all the messages in it.
    Loop the IT_RETURN internal table and display the data.
    Regards
    Sudheer

  • Receiving data in Client side!

    I�m sending three different Strings from Server to Client. Client receive those as one string. Does anyone know how to identify each string in Client side.
    Code:
    Server
    StreamConnection conn = (StreamConnection) Connector.open(connString);                                   
    OutputStream outData = conn.openOutputStream();                          
    outData.write(btAddress.getBytes());
    outData.write(deviceName.getBytes());
    outData.write(nickName.getBytes());
    Client
    StreamConnection conn = notifier.acceptAndOpen();
    InputStream inData = conn.openInputStream();
    ByteArrayOutputStream myData = new ByteArrayOutputStream();
             // Read the data sent from the server until the end of stream
             int i;
             while ((i = inData.read()) != -1) {
                  myData.write(i);
    // Shows all the strings in one!
    form.append("Received: " + myData.toString() + "\n"); 
    ...

    Hello John,
    I can also connect ./start_BPMS_bpms1_CommandLineClient.sh from command line in Unix server. But i couldn't connect from my studio console install in windows.
    I am getting the following error.
    Network communication with the server failed. Check your network connection and try again.
    Connection timed out: connect
    Help!!!
    Edited by: Khadka on Feb 28, 2013 9:34 PM

  • How do I recover data after update from iOS 4to iOS 7

    I just spent several hours making a backup of an iPhone 4S working on iOS 4 before upgrading to iOS 7 in order to use a specific APP.
    After the upgrade and restoring the backup I have lost all my old apps and associated data.
    I am sorely tempted to change to an android phone, unless someone knows how to restore the data in full?

    Stop using the drive immediately, un plug it.
    Buy a copy of ProSoft DataRescue 4 and use it to search for deleted files.

  • How to handle the Date & Time Object?

    Hi,
    I have big problem.I am working on j2ee application(using jsp & servlets).I am using Jboss App Server. The server is placed in India.
    But there is two offices, one is in India ,another one is in USA.
    But i want to handle the date and timestamp object commonly,
    But this object should be able to calculate their own date & timestamp object( e.g.,India,USA ).How can i solve this issue?.
    Help appreciated!
    P.Saravanan

    Hi,
    I have big problem.I am working on j2ee application(using jsp & servlets).I am using Jboss App Server. The server is placed in India.
    But there is two offices, one is in India ,another one is in USA.
    But i want to handle the date and timestamp object commonly,
    But this object should be able to calculate their own date & timestamp object( e.g.,India,USA ).How can i solve this issue?.
    Help appreciated!
    P.Saravanan

  • How to handle The Date error???

    Actually I am using three dropdown list as day,month and year
    day contains 31 items and same values i.e., 1,2,3...31
    and month contains jan,feb,....dec
    year 1981,1982,.....2007
    and I am concateded these three to form date as
    d:=:day||'-'||:month||'-'||:year;
    Now my problem is
    when i am selecting values 31 jun 1980,30 feb 1980 i.e., non existing dates then it is throwing
    "Unhandled trigger ..... "
    please tell me how to handle it?

    There are a number of different exceptions you can get with dates.
    SELECT To_Date('10132007','DDMMYYYY') FROM dual;
    ORA-01843: not a valid month
    SELECT To_Date('99122007','DDMMYYYY') FROM dual;
    ORA-01847: day of month must be between 1 and last day of month
    SELECT To_Date('10-FEB-2007','DDMMYYYY') FROM dual;
    ORA-01858: a non-numeric character was found where a numeric was expectedFor this I would just trap the ORA-01847 and 'when others' exceptions.

  • How to handle the date attribute,passing parameter from one page to another

    hi Friends,
    i want to pass data attribute from one page to another page-
    i am passing like below ,in jdev log window i am getting below error.
    String StatusUpdateDate = row.getAttribute("StatusUpdateDate");
    params.put("StatusUpdateDate",StatusUpdateDate)
    Error(121,50): incompatible types; found: java.lang.Object, required: java.lang.String
    Suppose i am passing like below , while moving one page to another i am getting below error in application
    String StatusUpdateDate = row.getAttribute("StatusUpdateDate").toString()
    Status Update Date - JBO-25009: Cannot create an object of type:oracle.jbo.domain.Date with value:26-MAR-2009
    please can any suggest me how to handle this error.
    Thanks and Regards,
    vamshi

    Hi Pratap, Thanks for your help
    it was my mistake that previously property it was varchar2, now i have changed as you suggested every thing. still i am getting error. this is my code-
    AM CODE-
    public void xxselection(String Name, String Email,String Product,String Region, DATE StatusUpdateDate)
    DetailVOImpl vo1=getDetailVO1();
    vo1.initQuery2(Name);
    Row detailRow = vo1.createRow();
    detailRow.setAttribute("Name", Name);
    detailRow.setAttribute("Email", Email);
    detailRow.setAttribute("Product", Product);
    detailRow.setAttribute("Region", Region);
    detailRow.setAttribute("StatusUpdateDate", StatusUpdateDate);
    vo1.last();
    vo1.next();
    vo1.insertRow(detailRow);
    detailRow.setNewRowState(Row.STATUS_INITIALIZED);
    Controller- Process Form Request- Source page
    if (pageContext.getParameter("Detail")!= null)
    String Name=row.getAttribute("Name").toString();
    String Email=row.getAttribute("Email").toString();
    String Product=row.getAttribute("Product").toString();
    String Region=row.getAttribute("Region").toString();
    DATE StatusUpdateDate =(DATE)row.getAttribute("StatusUpdateDate");
    HashMap params =new HashMap();
    params.put(" Name", Name);
    params.put("Email",Email);
    params.put("Product",Product);
    params.put("Region",Region);
    pageContext.putTransactionTransientValue("StatusUpdateDate",StatusUpdateDate); //As you suggested
    pageContext.forwardImmediately("OA.jsp?page=/xxm/oracle/apps/pos/stg/webui/DetailStagePG",
    null,
    OAWebBeanConstants.KEEP_MENU_CONTEXT,
    null,
    params,
    true, // retain AM
    OAWebBeanConstants.ADD_BREAD_CRUMB_NO);
    another page Controller-Process request-Destination page-
    String Name = pageContext.getParameter("Name");
    String Email = pageContext.getParameter(" Email");
    String Product = pageContext.getParameter("Product");
    String Region = pageContext.getParameter("Region");
    DATE StatusUpdateDate=(DATE)pageContext.getTransactionTransientValue("StatusUpdateDate");
    Timestamp tstmpStatusDate=StatusUpdateDate.timestampValue();
    System.out.println("tstmpStatusDate"+tstmpStatusDate);
    Serializable[] parameters1 = {Name,Email,Product,Region,tstmpStatusDate};
    am.invokeMethod("xxselection", parameters1);
    Error - getting at while running the application page to page
    No method with signature - No method with signature - xxselection(class java.lang.String, class java.lang.String, class java.lang.String, class java.lang.String, class java.lang.String)
    every thing is getting passed except DATE Attribute, please check the code and update me
    Thanks in Advace-
    vamshi

  • How can I receive data and print them in the smartform INTNOM2_N1?

    Hi experts!!
    I've to receive data from some tables and print them into the smarform INTNOM2_N1, for example I need to receive the data stext from the table hrp1000, but when I tried to do this, this doesn't work
    SELECT SINGLE STEXT FROM HRP1000 INTO WA_FORM_n1-STEXT
                          WHERE OBJID = P0001-PLANS AND
                          PLVAR       = '01' .
       because the data p0001-plans is empty how can I do this? I've tried with
    RP_PROVIDE_FROM_LAST P0001 SPACE VERSC-FPBEG VERSC-FPEND, but I think in smartforms we can't use RP_PROVIDE_FROM_LAST because I receive an error message,
    Does anybody know how can i do this?!
    Thanks a lot,
    Regards,
    Rebeca

    Hi
    Please write this code in the smartform and pass on this internal table to the smartform FM..
    Also, in the form interface of the smartform declare the table to which u want to pass these values.
    The above process will help u to pass values into the smartform from print program.
    Regards,
    Vishwa.

Maybe you are looking for

  • Find the program name for a given subroutine

    Hello chaps    I have the name of a subroutine. However i do not know the function group or the module pool in which it is defined. Se84 -> program library -> subobjects does not help. Any other way? Regards Pragnesh

  • Cropping in Elements 11 - Floating in Video Problem - Help Please!

    Please help - bottom of video looks like I am floating. Any help would be greatly appeciated.

  • Remove 0's from Graph

    Hi Im trying to plot some values that represent data recorded with 5 second intervals. The 2 plots is a mean value and a peak value. I would ideally want a line between the mean values. However in the dataset there's values that equals zero, so my gr

  • Inner join statement correction

    For three different tables we can write select statement like below?if any correction pleas correct it. select *     from ekko as a     inner join ekpo as b       on  aebeln = bebeln       inner join ekkn as c        on  bebeln = cebeln     into corr

  • Custom Document Style Upgrade Error

    After we upgraded from 3.6.1 multi-user version to 11.1 multi-user version, when I log in (as the administrator) it immediately displays a window saying: "The system is upgrading the custom document styles..." However it ends with "Partial Custom Doc