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
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
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
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
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
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
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
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
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
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
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
socket.h(3) Library Functions Manual socket.h(3)
NAME
socket.h -
Network addresses and sockets related classes.
SYNOPSIS
#include <cc++/address.h>
Classes
class ost::Socket
The Socket is used as the base for all Internet protocol services under Common C++.
class ost::DCCPSocket
DCCP sockets are used for stream based connected sessions between two sockets.
class ost::UDPSocket
UDP sockets implement the TCP SOCK_DGRAM UDP protocol.
class ost::UDPBroadcast
Representing a UDP socket used for subnet broadcasts, this class provides an alternate binding and setPeer() capability for UDP
sockets.
class ost::UDPTransmit
Representing half of a two-way UDP connection, the UDP transmitter can broadcast data to another selected peer host or to an entire
subnet.
class ost::UDPReceive
Representing half of a two-way UDP connection, the UDP receiver can receive data from another peer host or subnet.
class ost::UDPDuplex
UDP duplex connections impliment a bi-directional point-to-point UDP session between two peer hosts.
class ost::TCPSocket
TCP sockets are used for stream based connected sessions between two sockets.
class ost::TCPV6Socket
TCPV6 sockets are used for stream based connected sessions between two ipv6 sockets.
class ost::TCPStream
TCP streams are used to represent TCP client connections to a server by TCP protocol servers for accepting client connections.
class ost::TCPSession
The TCP session is used to primarily to represent a client connection that can be managed on a separate thread.
class ost::SimpleTCPStream
Simple TCP Stream, to be used with Common C++ Library.
Namespaces
namespace ost
Macros
#define INVALID_SOCKET -1
#define _IOLEN64
#define _IORET64
#define MSG_DONTWAIT 0
#define MSG_NOSIGNAL 0
#define SOCK_DCCP 6
#define IPPROTO_DCCP 33
#define SOL_DCCP 269
#define DCCP_SOCKOPT_AVAILABLE_CCIDS 12
#define DCCP_SOCKOPT_CCID 13
#define DCCP_SOCKOPT_TX_CCID 14
#define DCCP_SOCKOPT_RX_CCID 15
Typedefs
typedef int SOCKET
Variables
class __EXPORT ost::SimpleTCPStream
Detailed Description
Network addresses and sockets related classes.
Macro Definition Documentation
#define _IOLEN64
Referenced by ost::SocketPort::peek(), ost::UDPSocket::peek(), ost::TCPStream::peek(), ost::SocketPort::receive(),
ost::UDPReceive::receive(), ost::SocketPort::send(), ost::UDPTransmit::send(), and ost::UDPTransmit::transmit().
#define _IORET64
#define DCCP_SOCKOPT_AVAILABLE_CCIDS 12
#define DCCP_SOCKOPT_CCID 13
#define DCCP_SOCKOPT_RX_CCID 15
#define DCCP_SOCKOPT_TX_CCID 14
#define INVALID_SOCKET -1
#define IPPROTO_DCCP 33
#define MSG_DONTWAIT 0
Referenced by ost::UDPTransmit::transmit().
#define MSG_NOSIGNAL 0
Referenced by ost::UDPTransmit::send(), and ost::UDPTransmit::transmit().
#define SOCK_DCCP 6
#define SOL_DCCP 269
Typedef Documentation
typedef int SOCKET
Author
Generated automatically by Doxygen for GNU CommonC++ from the source code.
GNU CommonC++ Sat Jun 23 2012 socket.h(3)