Sponsored Content
Special Forums IP Networking Packetize data to send it over tcp sockets Post 302908117 by DGPickett on Thursday 3rd of July 2014 04:52:31 PM
Old 07-03-2014
TCP is a reliable stream with no packet borders, so you need to write a protocol to run inside it that defines packet size at least, if you need to recover the packets. Otherwise, just treat it like a pipe/FIFO, but bidirectional. The main trick in TCP protocols is to make sure both ends are not just reading or just sending, as that is a lockup. If you have threads or poll/select() controlled I/O then that is less of a problem (you are both reading and writing both ends all the time).

Last edited by DGPickett; 07-30-2014 at 12:37 PM..
 

10 More Discussions You Might Find Interesting

1. Programming

Sockets donot send any thing to client

I have written a socket program in C under RedHat Linux 6.2. This program is using SOCK_STREAM (TCP) to connect to any ip address at port # 23. The program is hosted on the linux machine and works well with Cisco routers. But when I am trying to connect to the same linux machine, it does not return... (4 Replies)
Discussion started by: biswa
4 Replies

2. Programming

TCP/IP send getting slower

Hi, We have developed a server program using TCP/IP Communication to communicate with another client program. After running for some days we find the TCP/IP connection from the server program is getting slower ie, the messages are not send quickly to the client. What i mean to say is since the... (0 Replies)
Discussion started by: rajesh_puru
0 Replies

3. SCO

TCP sockets

How can I change timers for TCP/IP sockets in SCO Unix 7.1.1:o (1 Reply)
Discussion started by: Dragan Travica
1 Replies

4. IP Networking

Tcp Ip Send Receive Server Program

Requirements: A server program should read a file and send the message to the client . if the file is not there, then switch to the receive part of the same program and receive any messages from the socket. If no messages to receive then switch to send part of the program to... (2 Replies)
Discussion started by: Rajeshsu
2 Replies

5. Programming

Send flaged data ..

Hello ! I'm writing a chat program , and I have a curiozity. I'm curently using two ports ( sockets ) for client - server interconections. One socket is used for ordinary ( normal ) data ( Ex : data on main-chat ) , and the another ( two socket ) is used to send management data : ( Ex... (0 Replies)
Discussion started by: !_30
0 Replies

6. Programming

problem receiving data from TCP socket

Hi all, I'm writing a socket program which sends a structure from one machine to another. When I run my client first time it runs well, however after the first time I couldn't receive all the data inside the structure (it is like, half of the array is received and the other half is not set). I... (1 Reply)
Discussion started by: SaTYR
1 Replies

7. Programming

TCP trashing data on application close

I am using c to send data to a socket with the following commands: socket = socket(AF_INET, SOCK_STREAM, ptrp->p_proto); ioctl(socket, FIONBIO, (char *)&on); connect(socket) send(socket,data) shutdown(socket, SHUT_WR); recv(socket) //ready last of data waiting on the port //note this is... (3 Replies)
Discussion started by: metrix
3 Replies

8. Shell Programming and Scripting

send data with Perl

Hello! I want to sent data (pictures: pic.jpg or textfiles) to a server. The pictures should be stored in \my_pictures\beautiful_images. How can I do it with Perl? I think, that I should start with a socket?? Do you have a tutorial or a site, where I can read about it? I use the IDE Padre /... (1 Reply)
Discussion started by: la_dy82
1 Replies

9. Programming

sockets - can you send data while waiting on select()

Hey guys, Is it possible to have a worker thread send data out a TCP connection while another thread is waiting using using select() on that same connection? If not, then what is the correct way to maintain a connection, react to incoming data, and send data over a TCP connection? Thanks... (16 Replies)
Discussion started by: scubanarc
16 Replies

10. Solaris

Too much TCP retransmitted and TCP duplicate on server Oracle Solaris 10

I have problem with oracle solaris 10 running on oracle sparc T4-2 server. Os information: 5.10 Generic_150400-03 sun4v sparc sun4v Output from tcpstat.d script TCP bytes: out outRetrans in inDup inUnorder 6833763 7300 98884 0... (2 Replies)
Discussion started by: insatiable1610
2 Replies
FIFO(7) 						     Linux Programmer's Manual							   FIFO(7)

NAME
fifo - first-in first-out special file, named pipe DESCRIPTION
A FIFO special file (a named pipe) is similar to a pipe, except that it is accessed as part of the file system. It can be opened by multi- ple processes for reading or writing. When processes are exchanging data via the FIFO, the kernel passes all data internally without writ- ing it to the file system. Thus, the FIFO special file has no contents on the file system; the file system entry merely serves as a refer- ence point so that processes can access the pipe using a name in the file system. The kernel maintains exactly one pipe object for each FIFO special file that is opened by at least one process. The FIFO must be opened on both ends (reading and writing) before data can be passed. Normally, opening the FIFO blocks until the other end is opened also. A process can open a FIFO in nonblocking mode. In this case, opening for read only will succeed even if no-one has opened on the write side yet, opening for write only will fail with ENXIO (no such device or address) unless the other end has already been opened. Under Linux, opening a FIFO for read and write will succeed both in blocking and nonblocking mode. POSIX leaves this behavior undefined. This can be used to open a FIFO for writing while there are no readers available. A process that uses both ends of the connection in order to communicate with itself should be very careful to avoid deadlocks. NOTES
When a process tries to write to a FIFO that is not opened for read on the other side, the process is sent a SIGPIPE signal. FIFO special files can be created by mkfifo(3), and are indicated by ls -l with the file type 'p'. SEE ALSO
mkfifo(1), open(2), pipe(2), sigaction(2), signal(2), socketpair(2), mkfifo(3), pipe(7) COLOPHON
This page is part of release 3.44 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/. Linux 2008-12-03 FIFO(7)
All times are GMT -4. The time now is 02:10 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy