Sponsored Content
Full Discussion: TCP connection check
Top Forums Programming TCP connection check Post 302533711 by Corona688 on Friday 24th of June 2011 12:10:22 PM
Old 06-24-2011
Quote:
Originally Posted by Shang
I understand. So how to discover server breakdown on the first request sending?
You should make sure you're reading all the data in the first place. Just because you do one successful read() doesn't mean you got everything the server was sending. If you have no way of knowing how much the server was sending, you'll have to add that data to your protocol.

That way, next time you try and communicate with the server, there won't be old data lying in the buffer that it will mistake for a reply; it may succeed in sending data, not knowing the connection's broken yet, but won't get any reply, and time out instead.
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

TCP/IP Connection 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. What i mean to say is since the send() function in the server program (it is... (2 Replies)
Discussion started by: rajesh_puru
2 Replies

2. UNIX for Dummies Questions & Answers

How to check the TCP/UDP port of a connection

Hi, Users are connecting thru a KCML Client to UNIX machine, and I want to know which TCP/UDP port that client uses? How can I check the port of a user logged in? Regards, Tayyab (2 Replies)
Discussion started by: tayyabq8
2 Replies

3. UNIX for Advanced & Expert Users

about TCP connection

Hi Experts, need help about release or refresh TCP Connection: i have the sample like below : application log connection: 0500 ( 192.168.0.1:36053) 00919 2007/05/10 23:30:25 112 13 2007/05/10 23:30:25 1969/12/31 17:00:00 0500 ( 192.168.0.1:36054) 00920 2007/05/10 23:30:26 000 00... (3 Replies)
Discussion started by: bucci
3 Replies

4. Shell Programming and Scripting

Create a TCP/IP Connection

Hello, I am trying to write a script in Perl which will send some data from a UNIX Box to a windows box. I am planning to create a TCP/IP communication port for the same. How do I go about this? Kindly help. Regards, Garric (50 Replies)
Discussion started by: garric
50 Replies

5. Programming

close existing tcp connection in C

Hello. I would like to know how to close an existing tcp socket. I have read some stuff and learned how to create a socket and then close it but have not found anything about how to close an existing tcp socket created by another application. The situation is this: I have an ODBC server running and... (6 Replies)
Discussion started by: raidzero
6 Replies

6. Solaris

How to kill the TCP ESTABLISHED connection in netstat

Hello, Actually there are some bugs in application which does not close the TCP connection to other server though CORBA. We need to kill that ESTABLISHED connections as new connection are not happeneing as the allocated ports were used and showing as ESTABLISHED Is there any... (4 Replies)
Discussion started by: GIC1986
4 Replies

7. UNIX for Dummies Questions & Answers

TCP failed connection attempts from netstat -s

Dear experts, I am seeing a lot of TCP failed connection attempts from "netstat -s" on one of our servers. How can I pin point what connection failed and what are the ports involved? Any tools/commands I can dig in deeper to diag. what went wrong on these "failed connection attempts"? ... (2 Replies)
Discussion started by: cache51
2 Replies

8. IP Networking

false tcp connection

Why this happens? How to solve this? $netstat -na |grep 9325 tcp 0 0 127.0.0.1:9325 127.0.0.1:9325 ESTABLISHED When a client socket repeatedly tries to connect to an inactive(no server socket is listening on this port) local port,connect succeeds. ... (1 Reply)
Discussion started by: johnbach
1 Replies

9. Solaris

many tcp connection in close-wait

Hi, I use solaris Unix . I find there is some problem in application and it generate many "close-wait" tcp connect and stay in the server . it is generate by process id 7740 root@XX # netstat -an | grep CLOSE_WAIT | wc -l 285 root@XX # netstat -an | grep CLOSE_WAIT 10.158.35.4.34805 ... (2 Replies)
Discussion started by: abcdef
2 Replies

10. UNIX for Dummies Questions & Answers

Tcp connection to Linux server fails

I am trying to send json messages to a port on a linux server from a remote server running a .net program. I have one implementation running with successful incoming messages to port 1514. I tried to replicate the same thing but just to another port but cannot get it to work as I get the following... (3 Replies)
Discussion started by: unienewbie
3 Replies
RADCLIENT(1)							 FreeRADIUS Daemon						      RADCLIENT(1)

NAME
radclient - send packets to a RADIUS server, show reply SYNOPSIS
radclient [-4] [-6] [-d raddb_directory] [-c count] [-f file] [-F] [-h] [-i id] [-n num_requests_per_second] [-p num_requests_in_parallel] [-q] [-r num_retries] [-s] [-S shared_secret_file] [-t timeout] [-v] [-x] server {acct|auth|status|disconnect|auto} secret DESCRIPTION
radclient is a radius client program. It can send arbitrary radius packets to a radius server, then shows the reply. It can be used to test changes you made in the configuration of the radius server, or it can be used to monitor if a radius server is up. radclient reads radius attribute/value pairs from it standard input, or from a file specified on the command line. It then encodes these attribute/value pairs using the dictionary, and sends them to the remote server. The User-Password and CHAP-Password attributes are automatically encrypted before the packet is sent to the server. OPTIONS
-4 Use IPv4 (default) -6 Use IPv6 -c count Send each packet count times. -d raddb_directory The directory that contains the RADIUS dictionary files. Defaults to /etc/raddb. -f file File to read the attribute/value pairs from. If this is not specified, they are read from stdin. This option can be specified mul- tiple times, in which case packets are sent in order by file, and within each file, by first packet to last packet. A blank line separates logical packets within a file. -F Print the file name, packet number and reply code. -h Print usage help information. -i id Use id as the RADIUS request Id. -n num_requests_per_second Try to send num_requests_per_second, evenly spaced. This option allows you to slow down the rate at which radclient sends requests. When not using -n, the default is to send packets as quickly as possible, with no inter-packet delays. Due to limitations in radclient, this option does not accurately send the requested number of packets per second. -p num_requests_in_parallel Send num_requests_in_parallel, without waiting for a response for each one. By default, radclient sends the first request it has read, waits for the response, and once the response is received, sends the second request in its list. This option allows you to send many requests at simultaneously. Once num_requests_in_parallel are sent, radclient waits for all of the responses to arrive (or for the requests to time out), before sending any more packets. This option permits you to discover the maximum load accepted by a RADIUS server. -q Go to quiet mode, and do not print out anything. -r num_retries Try to send each packet num_retries times, before giving up on it. The default is 10. -s Print out some summaries of packets sent and received. -S shared_secret_file Rather than reading the shared secret from the command-line (where it can be seen by others on the local system), read it instead from shared_secret_file. -t timeout Wait timeout seconds before deciding that the NAS has not responded to a request, and re-sending the packet. The default timeout is 3. -v Print out version information. -x Print out debugging information. server[:port] The hostname or IP address of the remote server. Optionally a UDP port can be specified. If no UDP port is specified, it is looked up in /etc/services. The service name looked for is radacct for accounting packets, and radius for all other requests. If a service is not found in /etc/services, 1813 and 1812 are used respectively. The RADIUS attributes read by radclient can contain the special attribute Packet-Dst-IP-Address. If this attribute exists, then that IP address is where the packet is sent, and the server specified on the command-line is ignored. If the RADIUS attribute list always contains the Packet-Dst-IP-Address attribute, then the server parameter can be given as -. The RADIUS attributes read by radclient can contain the special attribute Packet-Dst-Port. If this attribute exists, then that UDP port is where the packet is sent, and the :port specified on the command-line is ignored. acct | auth | status | disconnect | auto Use auth to send an authentication packet (Access-Request), acct to send an accounting packet (Accounting-Request), status to send an status packet (Status-Server), or disconnect to send a disconnection request. Instead of these values, you can also use a decimal code here. For example, code 12 is also Status-Server. The RADIUS attributes read by radclient can contain the special attribute Packet-Type. If this attribute exists, then that type of packet is sent, and the type specified on the command-line is ignored. If the RADIUS attribute list always contains the Packet-Type attribute, then the type parameter can be given as auto. secret The shared secret for this client. It needs to be defined on the radius server side too, for the IP address you are sending the radius packets from. EXAMPLE
A sample session that queries the remote server for Status-Server (not all servers support this, but FreeRADIUS has configurable support for it). $ echo "Message-Authenticator = 0x00" | radclient 192.0.2.42 status s3cr3t Sending request to server 192.0.2.42, port 1812. radrecv: Packet from host 192.0.2.42 code=2, id=140, length=54 Reply-Message = "FreeRADIUS up 21 days, 02:05" SEE ALSO
radiusd(8), AUTHORS
Miquel van Smoorenburg, miquels@cistron.nl. Alan DeKok <aland@freeradius.org> 2 April 2009 RADCLIENT(1)
All times are GMT -4. The time now is 07:56 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy