TCP Client data loss

Hello,
I have written a program that connects to a TCP Server using the TCP support Library of the CVI to exchange data between my program and that server. The problem is that it seems that this library seem to loose many received frames, as I see the PC has indeed received them (using the Wireshark to analyze the traffic I see the response from the server) but I do not get the "TCP_DATAREADY" event in the callback function.
Sometimes I have seen that I do not get the TCP_DATAREADY envent until I send more data through the socket, but in the Wireshark I can see that the data was received seconds befor.
This does not happen always but is quite frequent.
Thank you

Hi,
   maybe I'm out, but are you sure that you read all data  from callback?
   I think that TCP_DATAREADY is not necessarily received by every IP frame.When there is lot of data communication or application performs some computation in time of incomming IP frame, it is chance that one TCP_DATAREADY contains data from multiple frames.I am also not sure if is guaranteed that in callback alwais can be read whole IP frame(specialy if it is fragmeted on the way)

Similar Messages

  • 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.

  • I need a reliable (auto reconnect, no data loss, etc) TCP/CP Socket class

    I have been searching for a third party (free or pay) socket class that will do things that all of us programmers must do:
    reconnect when socket is disconnected
    reconnect and re-send data (so no data loss)
    and implementing all of these other features that we all require for "reliable" network communications over public networks.
    I would like to use this socket class on both my client and server applications. Does one exist somewhere? It certainly must. I want something that is tried and proven. free is great with open source but paying money is okay too. thanks !

    I am surprised at these responses. Using JMS or creating my own ARQ seems to not meet my requirement (lots of overhead in the case of JMS you usually need a middle "server" and the overhead is huge in high bandwidth situations -- lots of cpu and extra bandwidth -- and the ARQ is a nice idea but i really dont want to create anything myself)
    The fact is TCP/IP is unreliable over the internet. anyone who tries to use sockets over the internet recognizes this. It is not an issue of my application but the fact of the internet. the internet is designed with the assumption that the internet is unreliable (hence why the government created ARPA and the internet)
    so what if i loosened the requirement and said it was okay to lose some packets, but i just need something that knows the other side is alive and will reconnect/discnonect appropriately? doesnt this exist already? i mean every tcp/ip programmer is doing this and anyone who implements tcp/ip with the assumption that the "network is reliable" is going to be in big trouble. It doesnt need to be TCP, it can be a reliable UDP (i dont care what transport is used) but i just need something where i can take my existing code, drop in this new class instead of "Socket" and get my project done. it would be nice if it had features like reconnecting, dropping data if it is too old or if there are too many messages. i will be using it in high bandwidth applications (20-50mbps over the internet) and dont need 100% packet reliability, if we drop some packets due to a hiccup that is ok, but i do need it to be intelligent in reconnecting and such.

  • Async tcp client and server. How can I determine that the client or the server is no longer available?

    Hello. I would like to write async tcp client and server. I wrote this code but a have a problem, when I call the disconnect method on client or stop method on server. I can't identify that the client or the server is no longer connected.
    I thought I will get an exception if the client or the server is not available but this is not happening.
    private async void Process()
    try
    while (true)
    var data = await this.Receive();
    this.NewMessage.SafeInvoke(Encoding.ASCII.GetString(data));
    catch (Exception exception)
    How can I determine that the client or the server is no longer available?
    Server
    public class Server
    private readonly Dictionary<IPEndPoint, TcpClient> clients = new Dictionary<IPEndPoint, TcpClient>();
    private readonly List<CancellationTokenSource> cancellationTokens = new List<CancellationTokenSource>();
    private TcpListener tcpListener;
    private bool isStarted;
    public event Action<string> NewMessage;
    public async Task Start(int port)
    this.tcpListener = TcpListener.Create(port);
    this.tcpListener.Start();
    this.isStarted = true;
    while (this.isStarted)
    var tcpClient = await this.tcpListener.AcceptTcpClientAsync();
    var cts = new CancellationTokenSource();
    this.cancellationTokens.Add(cts);
    await Task.Factory.StartNew(() => this.Process(cts.Token, tcpClient), cts.Token, TaskCreationOptions.LongRunning, TaskScheduler.Default);
    public void Stop()
    this.isStarted = false;
    foreach (var cancellationTokenSource in this.cancellationTokens)
    cancellationTokenSource.Cancel();
    foreach (var tcpClient in this.clients.Values)
    tcpClient.GetStream().Close();
    tcpClient.Close();
    this.clients.Clear();
    public async Task SendMessage(string message, IPEndPoint endPoint)
    try
    var tcpClient = this.clients[endPoint];
    await this.Send(tcpClient.GetStream(), Encoding.ASCII.GetBytes(message));
    catch (Exception exception)
    private async Task Process(CancellationToken cancellationToken, TcpClient tcpClient)
    try
    var stream = tcpClient.GetStream();
    this.clients.Add((IPEndPoint)tcpClient.Client.RemoteEndPoint, tcpClient);
    while (!cancellationToken.IsCancellationRequested)
    var data = await this.Receive(stream);
    this.NewMessage.SafeInvoke(Encoding.ASCII.GetString(data));
    catch (Exception exception)
    private async Task Send(NetworkStream stream, byte[] buf)
    await stream.WriteAsync(BitConverter.GetBytes(buf.Length), 0, 4);
    await stream.WriteAsync(buf, 0, buf.Length);
    private async Task<byte[]> Receive(NetworkStream stream)
    var lengthBytes = new byte[4];
    await stream.ReadAsync(lengthBytes, 0, 4);
    var length = BitConverter.ToInt32(lengthBytes, 0);
    var buf = new byte[length];
    await stream.ReadAsync(buf, 0, buf.Length);
    return buf;
    Client
    public class Client
    private TcpClient tcpClient;
    private NetworkStream stream;
    public event Action<string> NewMessage;
    public async void Connect(string host, int port)
    try
    this.tcpClient = new TcpClient();
    await this.tcpClient.ConnectAsync(host, port);
    this.stream = this.tcpClient.GetStream();
    this.Process();
    catch (Exception exception)
    public void Disconnect()
    try
    this.stream.Close();
    this.tcpClient.Close();
    catch (Exception exception)
    public async void SendMessage(string message)
    try
    await this.Send(Encoding.ASCII.GetBytes(message));
    catch (Exception exception)
    private async void Process()
    try
    while (true)
    var data = await this.Receive();
    this.NewMessage.SafeInvoke(Encoding.ASCII.GetString(data));
    catch (Exception exception)
    private async Task Send(byte[] buf)
    await this.stream.WriteAsync(BitConverter.GetBytes(buf.Length), 0, 4);
    await this.stream.WriteAsync(buf, 0, buf.Length);
    private async Task<byte[]> Receive()
    var lengthBytes = new byte[4];
    await this.stream.ReadAsync(lengthBytes, 0, 4);
    var length = BitConverter.ToInt32(lengthBytes, 0);
    var buf = new byte[length];
    await this.stream.ReadAsync(buf, 0, buf.Length);
    return buf;

    Hi,
    Have you debug these two applications? Does it go into the catch exception block when you close the client or the server?
    According to my test, it will throw an exception when the client or the server is closed, just log the exception message in the catch block and then you'll get it:
    private async void Process()
    try
    while (true)
    var data = await this.Receive();
    this.NewMessage.Invoke(Encoding.ASCII.GetString(data));
    catch (Exception exception)
    Console.WriteLine(exception.Message);
    Unable to read data from the transport connection: An existing   connection was forcibly closed by the remote host.
    By the way, I don't know what the SafeInvoke method is, it may be an extension method, right? I used Invoke instead to test it.
    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.

  • Need to build communication redundancy using serial RS-232 for Data Transfer b/w Host and RT irrespective of TCP/IP Data Transfer

    Hi - I would like to build the logic in which it should accomodate the communication redundancy using serial RS-232 for Data Transfer b/w Host and RT irrespective of TCP/IP Data Transfer.
    I want to do data transfer b/w host and RT through RS232 VISA portal whenever TCP/IP ethernet cable has been unplugged from the controller continuosly , it should keep on checking for TCP/IP link re-establishing also , when ever the tcp/ip link established again that time the communication should be using in that link only. This is accomplished by deploying the RT vi as execuatbale file. I made some logic regards to the above said logic , bur it was not working as much I expected.
    I request you to go through the attached two VI's and let me know , what I did wrong in that,
    Please do the needful.
    Attachments:
    TCP_Serial_Host.vi ‏33 KB
    TCP_Serial_RT.vi ‏41 KB

    even i am new to this topic and i am trying to get familiar with these protocols
    refer to tcp server/client examples in labview examples

  • Data loss in the secure file transfer using java

    Hi,
    My java Appllication uses the sftp(secure file transfer protocol) for file transferring. when the load is high like 150 GB , data loss occuring for some files especially last chunk of data is missing.
    Core file transfer code
    while (true)
    int read = bis.read(buffer); //Reading bytes into the byte array (buffer) from network stream (bis).
    if (read==-1) {
    break; //Break the loop, if there are no more bytes available in the InputStream.
    bos.write(buffer,0,read); //Writing the same number of bytes what we read into buffer byte array into OutputStream
    complete.update(buffer,0,read); //Giving the same number of bytes what we read above to the checksum calculation.
    bytesSoFar += read; //Incrementing the bytes that we have read from the source.
    //if the bytes transferred are equal to the source file size
    If (bytesSoFar == fileInfo.getFileSize().intValue())
    // Calculate the file checksum.
    // Update DbAuditLog with checksum and no. of bytes read
    else
    // Update DbAuditLog with no. of bytes read
    bos.flush();
    Please help , why the data loss is happening when the big size files transfer
    Note:
    1.150 gb not a single file multiple files.
    2.SFTP no java specific API, So connection is happening through java .io.sockect connection

    so, if you are not getting any exceptions, yet the data is incorrect, it sounds like you are having actual network issues. i'd start looking at things like the actual network cards in the computer as well other equipment involved in the transfer. since you are not getting exceptions, the network stack obviously thinks nothing was lost over the wire, so either the actual hardware has issues, or the network stack, or the issue is on the sending end. the last possibility is that the client is somehow munging the data it is sending. do you control the client code? if so, i'd start checking the client side code for bugs (and/or post it here).
    also, i'm assuming that all of the variables included in your original code are thread local (you aren't sharing any of those buffers/streams/etc between multiple threads).

  • Chronic catastrophic data loss with Lion & servers

    Auto-save and versions, when combined with multiple users and a server environment virtually guarantees catastrophic data loss.
    Here's how you replicate it.
    (1) Place a photo on a server.
    For us, this is where we recommend people keep important files. Their desktop may be backed up with time machine, but the server is RAID 6 with hot spares, and on top of that is backed up every night. Much, much safer.
    (2) Open that photo in preview. Crop it so that you can print it. Close preview. Notice it didn't ask you if you wanted to save?
    (3) Open that file again. It's still cropped. The original? Gone. Choose "Revert to Saved" from the file menu. Notice the large number of empty windows on the right? Yup, you can't get back to the prior version, even though you never saved.
    Now, as a network administrator, imagine the consequences of this for your network. Users accessing shared files and making changes they need, but not saving them because they don't need to be saved. Yup, their version is now THE definitive version for the entire network.
    The ability to do non-destructive edits is something that computer users have been doing since, well, the dawn of computing more or less. Lion removes this. Now, add on top of that user mistakes in a network environment. User accidentally deletes all the text from a 24 page document. They don't know what to do so they close the app. Unless the backup has run since that 24 page document was created, it's gone. Forever. And ever. Amen.
    Go to backups you say? What if the document isn't accessed for six months from when the user accidentally wiped it out. Hope your backup server is petabyte big, because otherwise that data is gone.
    This is a huge, huge problem.
    Joel

    I am not an idiot. The very reason we are reporting this is that we are testing this and discovered it. It is not about "random people" changing things on the server. People with appropriate access can do catastrophic damage without even realizing it. Yes, I have also reported this via the Lion feedback.
    Let me address some of the comments here:
    > There is nothing to prevent someone on Snow Leopard from doing the same thing if anyone can save a document.
    That's the problem. Nobody has to actually save to wipe data out with Lion. Versions _does not work_ on server volumes. I have tested this with Lion client and 10.6 server and 10.7 server. Same result. Massive data loss.
    > Plus, any document over two weeks old would pop-up a big "locked" dialog if the user tried to modify it in Lion. You wouldn't get that before.
    Great. Documents can only be inadvertently destroyed for two weeks. Not sure how this makes anything better.
    >And why do you have Time Machine on the desktop instead of on the Server? It seems like it would more handy there.
    The server is backed up, as are the clients. It's irrelevant to the problem being reported.
    >You are the network administrator. Disable Preview and get your users a decent image editor.
    Great idea! Until Photoshop supports versions. Microsoft has announced support for versions with office. I guess we'll have to disable that as well. Maybe we should try to fix the actual problem rather than just disabling software that used to work perfectly and moving on...
    > The Versions feature is absolutely not appropriate for use in a multi-user context.
    I agree. So do mac users stop using servers now? Doesn't seem like a good option.
    > I find it hard to believe that any competent administrator would 1) upgrade clients to Lion this soon after release
    I have no clients except my own on Lion at this point, for testing. This is exactly the kind of problem I need to trace down before I deal with huge issues from my users. Also, what happens when we buy new machines? Lion only...
    > and 2) have versions enabled on shared disk.
    We can turn off versions on a shared disk? I do not see any way to do this. Please enlighten me!
    > 1) There is no evidence that the original poster has actully upgraded any client or is a network administrator.
    I am a network administrator. This only happens with Lion and versions. I have tested this problem against both 10.6 server and 10.7 server. It exists on either.
    > 2) Version is a feature of Lion, not the network. The scenario described by the original poster could occur on any non-HFS+ disk.
    The problem is that versions _does not work_ on an AFP server, but acts as if it does. When you use "revert to save" you find that there are no versions. Not good...
    Joel

  • Problems Running a TCP/IP Data Server VI as a Windows XP service

    I need to run a TCP/IP data server as a Windows service.  As my first step, I modified the LabVIEW example "Multiple Connections - Server.vi" under the TCP.llb to eliminate all controls with constants.  I can run succesfully the VI under the LabVIEW environment and get the data from other computers in the network using the "Multiple Connections - Client 1.vi"
    After read and followed the instructions posted in the document "Creating a Windows NT Service Using LabVIEW", I was able to create the Windows XP service.  The "task manager" shows it running.  A freeware Etherenet port monitor shows it listening.  When I try running my client, the port monitor shows a connection being established but after few seconds goes into a "time_wait" state and stays there.  End result: the client does not get the data.
    Any hints will be highly appreciated!
    Attachments:
    RadMon_DataServer.vi ‏41 KB

    Hola buen día,
    Para darte una mejor solución podrías decirnos  que aplicación estás tratando de hacer?. Que versión de Labview tienes?
    Saludos,
    NorSa
    NI Applications Engineer Latin America
    Para Soporte entra aquí

  • Is NFS client data cacheing possible?

    Yesterday, I was viewing an HD 1080 video with VLC, and noticed that Activity Monitor was showing about 34MB/sec from my NAS box. My NAS box runs OpenSolaris (I was at Sun for over 20 years, and some habits die hard), and the 6GB video file was mounted on my iMac 27" (10.7.2) using NFSv3 (yes, I have a gigabit network).
    Being a long term UNIX performance expert and regular DTrace user, I was able to confirm that VLC on Lion was reading the file at about 1.8MB/sec, and that the NFS server was being hit at 34MB/sec. Further investigation showed that the NFS client (Lion) was requesting each 32KB block 20 times!
    Note: the default read size for NFSv3 over TCP is 32KB).
    Digging deeper, I found that VLC was reading the file in 1786 byte blocks. I have concluded that Lion's NFSv3 client implement at least one 32KB read for each application call to read(2), and that no data is cached betweem reads (this fully accounts for the 20x overhead in this case).
    A workaround is to use say rsize=1024, which will increase the number of NFS ops but dramatically reduce the bandwidth consumption (which means I might yet be able to watch HD video over wifi).
    That VLC should start issuing such small reads is a bug, so I have also written some notes in the vlc.org forums. But client side cacheing would hide the issue from the network.
    So, the big question: is it possible to enable NFS client data cacheing in Lion?

    The problem solved itself mysteriously overnight, without any interference from myself.
    The systems are again perfectly happily mounting the file space (650 clients of them all at the same time
    mounting up to 6 filesystems from the same server) and the server is happily serving again as it has been for the past 2 years.
    My idea is that there has been a network configuration clash, but considering that the last modification of NIS hosts file was about 4 weeks ago and the latest server was installed then and has been serving since then, I have no
    idea how such clash could happen without interference in the config files. It is a mystery and I will have to make
    every effort to unravel it. One does not really like to sweep incidents like that un-investigated under the carpet.
    If anybody has any suggestions and thoughts on this matter please post them here.
    Lydia

  • TCP client communicating with UDP server

    Hello,
    I want to make a TCP client to communicate with an UDP server. Does anyone know a way of doing this? I am not interested in reliable data transfer. So I don't care if the datagram is lost. I want to make the UDP server accept some datagrams from the TCP client. Also, the datagram that I want to transmit is less than 65,536 octets so it is not devided to several datagrams. Therefore, only one exchange procedure occurs.
    I made an UDP server using DatagramSocket and DatagramPacket classes and a TCP client using Socket class, but the TCP client informs me that the connection was refused.
    Any ideas?

    Let's google for IP header and the first hit is http://www.networksorcery.com/enp/protocol/ip.htm (Whoa! Classic page! I must have seen that back when googling was called altavista.)
    There is a header field, a single byte, called protocol. For TCP/IP that field contains 6, for UDP/IP it contains 17.
    If you send a packet with protocol=17, the receiving host's kernel will check if it has an process listening to UDP (17) at the port specified in the packet header. No such process? Then simply discard the packet. So you can't send an UDP packet to a TCP socket because the protocol field is wrong.
    If you want to fake a TCP stream you could look into jpcap, which allows you to capture and send raw packets. Google for it; and pick the right jpcap, there are two, only one of which (AFAIK) can send packets. Attempting to write your own TCP implementation is highly advanced though, and not really practical.

  • Extend TCP- clients Failover

    Hi,
    In an attempt to failover a TCP client we had the following config file which setup with the following elements
                   <heartbeat-interval>50s</heartbeat-interval>
                   <heartbeat-timeout>35s</heartbeat-timeout>
    When inserting the event handler for the service stopping with the following code
    public static void InstallServiceEventHandler(string servicename, ServiceEventHandler eh) //this should be a generic handler in
    Tangosol.Net.IService ics = CacheFactory.GetService(servicename); -->This line throws
    try{
    ics.ServiceStopping += eh;
    catch (Exception e)
    log.Error("Exception in the service Event handler insertion", e);
    return;
    The Exception is
    {"The element 'outgoing-message-handler' in namespace 'http://schemas.tangosol.com/cache' has *invalid* child element 'heartbeat-interval' in namespace 'http://schemas.tangosol.com/cache'."}
    On commenting out the hearbeat* lines the above line executes....Which is of course useless to detect Server failures without a heartbeat.
    What are we doing wrong?
    Thanks,
    Vipin
    Given below is the
    <cache-config xmlns="http://schemas.tangosol.com/cache">
    <caching-scheme-mapping>
    <cache-mapping>
    <cache-name>dist-*</cache-name>
    <scheme-name>extend-direct</scheme-name>
    </cache-mapping>
    </caching-scheme-mapping>
    <caching-schemes>
    <remote-cache-scheme>
    <scheme-name>extend-direct</scheme-name>
    <service-name>ExtendTcpCacheService</service-name>
    <initiator-config>
    <tcp-initiator>
    <remote-addresses>
              <socket-address>
    <address>nycs00057388.us.net.intra</address>
    <port>8078</port>
    </socket-address>
                   <socket-address>
                        <address>nycs00057389.us.net.intra</address>
                        <port>8078</port>
                   </socket-address>
              </remote-addresses>
    </tcp-initiator>
    <outgoing-message-handler>
    <request-timeout>30s</request-timeout>
                   <heartbeat-interval>50s</heartbeat-interval>
                   <heartbeat-timeout>35s</heartbeat-timeout>
              </outgoing-message-handler>
    </initiator-config>
    </remote-cache-scheme>
    <remote-invocation-scheme>
    <scheme-name>extend-invocation</scheme-name>
    <service-name>ExtendTcpInvocationService</service-name>
    <initiator-config>
    <tcp-initiator>
    <remote-addresses>
    <socket-address>
    <address>nycs00057388.us.net.intra</address>
    <port>8078</port>
    </socket-address>
    </remote-addresses>
    </tcp-initiator>
    <outgoing-message-handler>
    <!--<request-timeout>30s</request-timeout>-->
    </outgoing-message-handler>
    </initiator-config>
    </remote-invocation-scheme>
    </caching-schemes>
    </cache-config>

    Hi Vipin -
    While I do not have a definite answer on the issue, the internal tracking number is COH-2534. While I cannot commit on dates, at last check it was being worked on for inclusion in 3.6, and the fix would likely be back-ported to 3.5.x.
    I suggest that you open an SR with Oracle Support if you have not already done so, so that you can specifically request the resolution of this and the backport to 3.5.
    I apologize for the inconvenience that this has caused you.
    Peace,
    Cameron Purdy | Oracle Coherence

  • There is no Data Loss!

    Basically, any Pages file that has been modified and seemingly "overwritten" can be easily restored to its pre-5.0 state within Pages 5 by clicking File > Revert to > Browse All Versions and then selecting the previous version, clicking Restore and then closing Pages 5.0 without saving.  That allows you to open the file in Pages '09 and delete Pages 5.  Now everything is back to normal and you can continue using '09 until the feature set is restored.
    I'm hoping people will continue to explore and verify this, but I've tried it myself and a few others have verified its validity.  I started a thread yesterday but it quickly got buried in the swathes of complaints.
    robogobo wrote:
    Great!  Hopefully this means everyone can get back to their old files and continue working in '09 until the feature set is restored to 5.0.  Now we can all stop clamoring about Apple intentionally damaging users' work.  I was 1000% sure that wasn't the case.  After "Save As" was depricated, Autosave and Version History are part of a normal workflow (except for those who rejected the whole idea of auto save - but Apple didn't), which explains why files were not explicitly duplicated with the upgrade and no warning was issued.
    Does this work for you, Peter?  If so I hope you can see the value of actually using the product before jumping on the bashing bandwagon.
    Karabuni wrote:
    Seems to work - I've unplugged the external disk as well as turning off Time Machine. Old versions are there, and not only that, when the restored file is loaded into 5, it looks the same as it did in 4.3., whereas if just the latest one is opened, layout is, er, not right.
    The "unrestored" file has layout errors, whereas, the "restored" one still looks OK when reopened, even after making a few changes. This might not be the case if a "removed" feature has been used, such as linked text boxes - they are there but not linked.
    You will not be able to open this file in 4.3 if you make changes, as robogobo also said.
    So, are the earlier versions inside the new one? Word docs have all sorts of old stuff inside if you open them in BBEdit, especially if the author has used an earlier letter to someone else as a template, and altered the text. Having looked at a 4.3 xml file there isn't any changed/deleted text or other obvious stored changes. So they must be somewhere else, I suppose.
    The 5 files are zipped .iwa, and I haven't found anything that the system will allow to open them (unidentified developer).
    robogobo wrote:
    Could someone please verify this?  Basically it would mean the transition from 4.3 to 5 is at least non destructive and we're dealing with a loss of features here but no data loss.
    robogobo wrote:
    Browse All Versions:
    Now I hadn't tried this before, but it was on my todo list.  When I first noticed problems with files opened in Pages 5.0, I was simply restoring files from Time Machine in order to get back to the original version for 4.3, thinking it was necessary for version history.  But correct me if I'm wrong, Time Machine isn't necessary for browsing documents version history.  Is that right?  I just tested it and it seems to work with my Time Machine disk disconnected.  Can someone verify this?
    I just opened an old 4.3 document in 5.0, made some changes, saved and closed it.  Then I tried to open it in 4.3 and of course it wouldnt open.  So I opened it again in 5.0, went to File > Revert to > Browse All Versions and it opened up the interface, which looks like Time Machine (I always assumed it was) but I think it's not.  Anyway, I went back to the old version, hit restore and then closed it without saving.  I can now open it again in 4.3 in its original state!
    Did everyone already know this?  If it's true, then there isn't any permanent damage being done, and everything can be reverted to originals from within5.0.  I think this is great news.

    Jeff Shenk wrote:
    If you upgraded directly from Snow Leopard to Mavericks, and never had Versions in Pages 4, can you still revert to the oldest version in Pges 5 and get a Pages 4 document?
    The documents brough into Mavericks from Snow Leopard should still be considered the original versions before they're opened in Pages 5, so I think it would work.  Probably best to open them in 4.3 on Mavericks first though, to be safe.
    At any rate, data loss is only a problem if you have opened the only copy of a document with a new, untried application, and in that case, you are acting as though it isn't a very important document, anyway.
    Couldn't agree more.

  • [DATA LOSS] I closed the Tab Groups and all my tabs dissapeared. How can I recover the tabs in Firefox 26? Would you please just delete this feature?

    Thank-you in advance for reading all of this.
    A slip of the mouse in trying to return to the left-most tab caused the tab groups feature to take over the window. I completely failed to comprehend what I was looking at and closed the thing by clicking the x because I damn sure didn't want what I was looking at. Undo close group? Of course not, I didn't want a group in the first place. Hey! My tabs are completely gone now! So in just a few steps all of which seemed innocent, I have lost all but ten of the tabs that were open, and those were only the most recent ten (and actually older tabs would have been more valueable than newer so insult on top of injury).
    I don't think increasing the number of undoable tab closures is the answer. I think getting rid of the tab groups feature all together is the best way to go. I seem to have lost all the tabs I had open, irretrievably, and some of them had been open for WEEKS so they can't be reopened from history.
    The tab groups feature is a data loss bug. Please remove it from the UX completely. If you have to figure out a way to grandfather people who actually have a tab group, fine but don't further vex me with it, please.
    The reason this catastrophe has occurred is that your feature, was so discoverable that I activated it by mistake, and the UI after that had to be learned on the spot, yet was too complicated to learn. You really should withdraw it until you can figure out how to keep the UI for it from causing data loss such as I have experienced this morning.
    Also, there may be other questions on this feature which are from a certain point of view the same as this one. It's hard for me to tell for sure. None of them had a true resolution so that's why I posted this one, also I'm seeking a specific fix, removal of the offending feature.
    Why remove the feature? Because if I allow in my discussion the possibility of retaining it, it will stick around in its present and dangerous form until your team is done bikeshedding the new form it should take. Instead I want you to delete the feature and then require its champion to convince you that a new incarnation won't cause data loss before you allow it back in.
    Fellow users, if you know of a way to recover all 50 lost tabs from an "undo close tab group incident", I would be grateful for that advice, but I would still believe the feature should be deleted. Some of the tabs have been retained for months so digging them out of the history is not practical.

    I am not 100% certain but I am fairly sure development of this tab feature has ceased and it is likely to be deprecated. I am even less sure what the replacement will be.
    Thus forum is not the place for discussing development issues or feature requests. (Developers do not use this site)
    *You could comment using feedback <br /> https://input.mozilla.org/en-US/feedback
    *Or try to find a developers forum or mailing list <br /> http://www.mozilla.org/about/forums/#general-development
    I have not tried this and am not even using Windows at present but the tabs groups are stored as entries in the sessionstore.js files. Firefox has such a file plus sometimes numbered copies and a backup copy. Firefox will have re-writen these files but I suppose there is a posibility the Windows OS may have kept copies.
    * see http://windows.microsoft.com/en-US/windows7/Previous-versions-of-files-frequently-asked-questions
    * http://kb.mozillazine.org/Sessionstore.js Note the files are kept within the Firefox Profile
    ** Firefox Button -> Help -> Troubleshooting [open profile] (or some thing similar) is one method of locating the profile.
    Find and backup any current sessionstore.js file. Consider also bookmark or otherwise recording anything you have open. Now find any previous versions and try putting them in Firefox's profile before restarting it.

  • Data loss popup for cancel button on overview page

    Hi Experts,
    Data loss popup generally appears on UI, when i try to navigate with out saving the changes. This is a standard SAP behaviour.
    But, i come across the requirement where this data loss popup should also appear on clicking the 'Cancel' button on overview page on UI.
    I understood that, this popup will be triggered by the methods ON_BEFORE_WA_CONTENT_CHANGE & IF_BSP_WD_EVENT_HANDLER~HANDLE_EVENT of the window impl class.
    Please suggest how can i make this popup work in case of Cancel button as well.
    Thanks....

    Hi bkvs,
    Usually when you click the "Cancel" button that means you don't want to save your entry... hence displaying the dataloss popup doesn't make really sense to me. However, you may want the user to confirm that he really wants to cancel.
    So I would suggest to redefine the EH_ON_CANCEL method of your view, to display a simple confirmation popup before you actually cancel everything. This wiki will show you how to do it:
    Creating popup message in webclient UI - CRM - SCN Wiki
    Regards,
    Nicolas.

  • Updating to ios 6.1.5 leads to data loss in several apps (bento, teacher tool)

    After updating to ios 6.1.5 I have experienced severe data loss in several apps. Can I return to older version of ios to rescue data?

    All you can do is restore from backup
    To restore from backup see:
    iOS: How to back up     
    If you restore from iCloud backup the apps will be automatically downloaded. If you restore from iTunes backup the apps and music have to be in the iTunes library since synced media like apps and music are not included in the backup of the iOS device that iTunes makes.
    You can redownload most iTunes purchases by:
    Downloading past purchases from the App Store, iBookstore, and iTunes Store        

Maybe you are looking for

  • How do I make a Mouse Trace line (puzzle type) to move forward in a Flash site

    I'm wondering how I would go about making a Mouse Trace, on a line that's preset but my choosing to let people enter into my Flash and/or progress throughout it. Basically, I have a picture of say, the number 5, I want to be able to have people use t

  • Why isn't the plugin checker working anymore?

    I check for updates to my plugins very often. The Plugin Check page has been saying that all my plugins are up to date. However, twice now I've clicked the button to check anyway, and found that a plugin was not up to date after all. Why isn't the Pl

  • Leading zero in numeric field

    I need to create a numeric field that has 7 digits and can start with one or 2 leading zeros

  • Error 49 downloading update

    I receiving an error message (49) when I download the update for Photoshop CC. The mesage told to contact the assitance

  • Pages and iwork not opening

    Hi everyone i am hoping that someone will be able to help me out, i have iwork 09 installed but it has stopped working, i have been through a lot of threads and done the following Maybe not in this exact order. deleted iwork installed the trial ( i h