Data corruption when using TCP sockets

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



hai,
   We have a socket application in C which connects to a Java application 
through TCP sockets. We use read() system call to read from the socket. 
The Java application sends more than 20000 bytes of data sometimes. In the 
C program, we read those bytes as Type,Length,Value fields where a 
separate read() call is used for each field. This sometimes creates a data 
corruption while it works other times.
   We observe that the first 16384 bytes get read properly. Extra byte or 
bytes get added in the 16385 th location and this shifts the bytes from 
16385 onwards. Because of this our C program gets confused and we are 
forced to reopen the socket. This is not predictable. Suddenly this 
problem occurs. Is this an already known issue and if so what 
is it? How to solve it?
   We are running both the applications in the same machine which runs 
Red Hat Linux release 7.2 and its kernel version is 2.4.7-10
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux