Sponsored Content
Top Forums Programming Confusion about TCP/IP socket programming Post 62820 by crippe on Sunday 20th of February 2005 07:23:57 AM
Old 02-20-2005
Java Confusion about TCP/IP socket programming

Hello there chaps.

First of all, i'm no TCP/IP-wiz, so forgive me if this is a stupid question.
I've been messing around with filetransfer using sockets, and there is one thing that confuses me.

This is how it's set up:

A server app listens on a port for a client connection.
When it receives a connection, it forks and reads some stuff (file length, name etc.). Then it starts reading from the socket, saving the data in a local file.

Now if i make two client-connections to this server, sending two different files, it's still able to receive both files through the same port simultaniously. How is that possible? I'm guessing it has to do with different filedescriptors, but i'd like to know in detail how the kernel keeps track of which data to send to which file descriptor. Also, is this a bad way to go about filetransfer? Should i use separate ports for data and client connection?

/Crippe
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Which application has a TCP socket open

If I do a netstat -a I can see all the sockets currently open, is there a way that I can tell which application is holding open these sockets ? (3 Replies)
Discussion started by: murphyboy
3 Replies

2. AIX

TCP/IP socket binding problem

I have what appears to be a unique socket problem, although admittedly my tcp/ip programming experience is relatively limited. I have a AIX server process using TCP/IP berkely sockets, and a Windows (C#) process. The windows process takes input from a user and sends a message to the Unix... (1 Reply)
Discussion started by: adiaconou
1 Replies

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

4. Programming

How detect TCP/IP socket shutdown when ethernet cable is disconnected

Hi, I want to code TCP/IP client/server in linux application capable to fastly detect ethernet cable disconnection in any condition. So I have activate SO_KEEPALIVE options and set TCP_KEEPCNT, TCP_KEEPIDLE and TCP_KEEPINTVL to 1. When I disconnect ethernet cable I have the following... (5 Replies)
Discussion started by: jeje_clb
5 Replies

5. Programming

Using socket to test a TCP port

Hello, I'm trying to write a small c application to test a tcp port. This works fine for the most part but the default timeout on the connect is very long. I have been reading many posts but and it looks like I need to set the socket to be non-blocking and poll for a result. I have been totally... (2 Replies)
Discussion started by: tjones1105
2 Replies

6. IP Networking

Packets sent from Linux TCP socket

Hello, Our software is using a TCP socket (AF_INET, SOCK_STREAM) to communicate with an Ethernet device. When we send a message, the message object writes itself in full onto the socket's stream buffer before the software invokes send() from socket.h. I'm still researching, but have 2... (1 Reply)
Discussion started by: bix_20002000
1 Replies

7. Shell Programming and Scripting

Read and write to tcp socket

Hello all, I have a requirement to read and write to a tcp socket from an HP-UX shell script. I see a /dev/tcp character device on my servers: crw-rw-rw- 1 root root 72 0x00004f Mar 28 18:37 /dev/tcp So I believe this is what I should use. The problem is that all the... (2 Replies)
Discussion started by: lupin..the..3rd
2 Replies

8. Solaris

Tcp Socket (Connection refused) to my server box

I installed a fresh copy of Solaris 7 and present up my ip and domain for my web services but when I try to connect to it I get the following error; TCPActiveOpen: connect failed tcp/192.168.1.148/7900: 146 (Connection refused). the port is open in my router but I don't no were to add it in... (5 Replies)
Discussion started by: Wpgn
5 Replies

9. Solaris

Installing TCP-MUX protocol socket help required.

I been looking for a good guide or some help on how to install and setup TCP-MUX protocol socket on my Solaris 7 servers. Can anyone point me in right direction of help me ? Thanks (5 Replies)
Discussion started by: Wpgn
5 Replies

10. AIX

How to repair a TCP/IP socket in state: CLOSE_WAIT?

Hi The clients connect to my server -using port 9130. But no client could connect to my server at this time. I've checked already and this is the result netstat -Aan|grep -v 127.0.0.1|grep 9130|pg f10006000abcb398 tcp4 10313 0 10.0.89.81.9130 10.158.70.24.1705 CLOSE_WAIT... (8 Replies)
Discussion started by: bobochacha29
8 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)
All times are GMT -4. The time now is 10:32 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy