Getting TCP Port status through C API


 
Thread Tools Search this Thread
Top Forums Programming Getting TCP Port status through C API
# 1  
Old 08-26-2010
Getting TCP Port status through C API

Does anyone know if there is a C API call to get the status of a TCP port? As opposed to running netstat and parsing the results. At the moment I have to attempt to bind() and pick up on the address in use error which isn't very elegant

Thanks

---------- Post updated at 10:42 AM ---------- Previous update was at 10:39 AM ----------

This is on Solaris 10. Unfortunately not Linux where I could have used the proc filesystem
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. IP Networking

Tcp ip port open but no such process (merged: Release A Port)

i want to kill a tcp connection by killing its pid with netstat -an i got the tcp ip connection on port 5914 but when i type ps -a or ps-e there is not such process running on port 5914 is it possible that because i do not log on with proper user account i can not see that process running? (30 Replies)
Discussion started by: alinamadchian
30 Replies

2. Shell Programming and Scripting

Terminate processes for CLOSE_WAIT status of TCP

Hello Friends, First of all im sorry for spending extra space in DB of forum with this thread, i know there would be a solution if i kept searching, I need to terminate the process which causes CLOSE_WAIT status of TCP connection via port 8103: -bash-3.00$ netstat -na | grep 8103... (3 Replies)
Discussion started by: EAGL€
3 Replies

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

4. IP Networking

TCP port numbers reused

Hello all, I am loosing the diameter connection between two servers and when the connection is trying to comes up again i see the following message in the tracer. and after 1 second the connection resets. As far i know the connection stay in state TIME_WAIT for a while(60 seconds in my... (1 Reply)
Discussion started by: @dagio
1 Replies

5. Shell Programming and Scripting

TCP port assignment

I have multiple processes running the same program on my linux machine. For each process I want to be able to use a unique (available) TCP port. I have thought of using netstat to check which ports are available for use however, the time-window between checking and selecting might expose some race... (1 Reply)
Discussion started by: timmylita
1 Replies

6. UNIX for Dummies Questions & Answers

close tcp port

Hello, I have a service running (ODBC) and every now and then it will hang and I will have to stop and restart the service. The problem is when I stop the service, it indeed stops the service, but netstat reports a tcp port still open with the fin_wait_2 status. Then I must close the client... (1 Reply)
Discussion started by: raidzero
1 Replies

7. Programming

TCP status question

There is a server and a client,when client send a message to server,server can send a reply to client. The status of server and client is ESTABLISHED.Then I halt the client,I find the server status is CLOSE_WAIT and the client status is FIN_WAIT_2. Many minutes passed,I find the the server status... (1 Reply)
Discussion started by: konvalo
1 Replies

8. Programming

How to check TCP server status

Please tell me according to C/C++ socket programming; how client can check whether server is running or not during TCP communication. (1 Reply)
Discussion started by: mansoorulhaq
1 Replies

9. UNIX for Dummies Questions & Answers

restrict tcp-port access

Hi Is there any way to restrict the TCP-IP port usage. I want to restrict TCP-IP port 1500/1550 to the oracle osuser. Tanks in advance. Remi (2 Replies)
Discussion started by: remivisser
2 Replies

10. IP Networking

tcp problem with port

I am trying to connect via DBACCESS and Informix server to a server on a different computer. When I execute the connect command from dbaccess I get the following message, Exec format error cannot bind a name to the port. As far as I know the port is not being used by another client. How... (1 Reply)
Discussion started by: lopez
1 Replies
Login or Register to Ask a Question
tcp(4p) 																   tcp(4p)

Name
       tcp - Internet Transmission Control Protocol

Syntax
       #include <sys/socket.h>
       #include <netinet/in.h>

       s = socket(AF_INET, SOCK_STREAM, 0);

Description
       The  TCP  protocol  provides  reliable,	flow-controlled,  two-way  transmission of data.  It is a byte-stream protocol used to support the
       SOCK_STREAM abstraction.  TCP uses the standard Internet address format	and,  in  addition,  provides  a  per-host  collection	of  ``port
       addresses''.   Thus,  each address is composed of an Internet address specifying the host and network, with a specific TCP port on the host
       identifying the peer entity.

       Sockets utilizing the TCP protocol are either ``active'' or ``passive''.  Active sockets  initiate  connections	to  passive  sockets.	By
       default	TCP  sockets  are created active; to create a passive socket the system call must be used after binding the socket with the system
       call.  Only passive sockets can use the call to accept incoming connections.  Only active sockets can use the call to initiate connections.

       Passive sockets can ``underspecify'' their location to match incoming connection requests from multiple networks.  This	technique,  termed
       ``wildcard addressing'', allows a single server to provide service to clients on multiple networks.  To create a socket that listens on all
       networks, the Internet address INADDR_ANY must be bound.  The TCP port can still be specified at this time.  If the port is not	specified,
       the  system  will  assign one.  Once a connection has been established,	the socket's address is fixed by the peer entity's location.   The
       address assigned the socket is the address associated with the network interface through which packets are being transmitted and  received.
       Normally, this address corresponds to the peer entity's network.

       TCP  supports  one  socket option that is set with and tested with Under most circumstances, TCP sends data when it is presented; when out-
       standing data has not yet been acknowledged, it gathers small amounts of output to be sent in a single packet, once an  acknowledgement	is
       received.   For a small number of clients, such as window systems that send a stream of mouse events that receive no replies, this packeti-
       zation may cause significant delays.  Therefore, TCP provides a Boolean option, TCP_NODELAY (from to defeat  this  algorithm.   The  option
       level for the call is the protocol number for TCP, available from

Diagnostics
       A socket operation may fail with one of the following errors returned:

       [EISCONN]	   Try to establish a connection on a socket which already has one.

       [ENOBUFS]	   The system runs out of memory for an internal data structure.

       [ETIMEDOUT]	   A connection was dropped due to excessive retransmissions.

       [ECONNRESET]	   The remote peer forces the connection to be closed.

       [ECONNREFUSED]	   The remote peer actively refuses connection establishment (usually because no process is listening to the port).

       [EADDRINUSE]	   An attempt is made to create a socket with a port that has already been allocated.

       [EADDRNOTAVAIL]	   An attempt is made to create a socket with a network address for which no network interface exists.

See Also
       getsockopt(2), socket(2), inet(4f), intro(4n), ip(4p)

																	   tcp(4p)