05-21-2008
I don't think I can tell you anything you don't already know, but let's review the situation.
You want a client/server architecture: a server accepts incoming connections from the clients, and stores the information they submit when they connect. The server can be a simple program which merely accepts incoming connections, reads whatever the clients submit, and stores it to a file, then disconnects. Similarly, the clients can simply open a connection, dump a report, and disconnect.
The sample code you find in the perlipc manual page can do this, but if you have performance demands, it might not be enough. Then it's probably better to go look for a server architecture which is designed for heavy concurrency. Apache has a good reputation in this regard, although you can look for others, too. You'll just need to figure out a way to make it do what you want. A simple CGI script is a good way to make Apache do something different than just serve up static web pages.
Are you following so far? So my suggestions at this point would be to test the "simple forking server" you find in man perlipc and measure whether it performs well enough. If it doesn't, see if you can make Apache suit your needs.
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
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
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
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. Programming
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
5. Solaris
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
6. UNIX for Dummies Questions & Answers
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
7. IP Networking
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
8. Solaris
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
9. Programming
Hi.
I am writing client - server application using TCP sockets.
I need some very basic functionality, namely: how to check if another "participant" of the connection is still present?
I want to handle situations, when client is gone, or server breaks down, etc. (25 Replies)
Discussion started by: Shang
25 Replies
10. UNIX for Dummies Questions & Answers
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
LEARN ABOUT CENTOS
apachectl
APACHECTL(8) apachectl APACHECTL(8)
NAME
apachectl - Apache HTTP Server Control Interface
SYNOPSIS
When acting in pass-through mode, apachectl can take all the arguments available for the httpd binary.
apachectl [ httpd-argument ]
When acting in SysV init mode, apachectl takes simple, one-word commands, defined below.
apachectl command
SUMMARY
apachectl is a front end to the Apache HyperText Transfer Protocol (HTTP) server. It is designed to help the administrator control the
functioning of the Apache httpd daemon.
The apachectl script can operate in two modes. First, it can act as a simple front-end to the httpd command that simply sets any necessary
environment variables and then invokes httpd, passing through any command line arguments. Second, apachectl can act as a SysV init script,
taking simple one-word arguments like start, restart, and stop, and translating them into appropriate signals to httpd.
If your Apache installation uses non-standard paths, you will need to edit the apachectl script to set the appropriate paths to the httpd
binary. You can also specify any necessary httpd command line arguments. See the comments in the script for details.
The apachectl script returns a 0 exit value on success, and >0 if an error occurs. For more details, view the comments in the script.
OPTIONS
Only the SysV init-style options are defined here. Other arguments are defined on the httpd manual page.
start Start the Apache httpd daemon. Gives an error if it is already running. This is equivalent to apachectl -k start.
stop Stops the Apache httpd daemon. This is equivalent to apachectl -k stop.
restart
Restarts the Apache httpd daemon. If the daemon is not running, it is started. This command automatically checks the configuration
files as in configtest before initiating the restart to make sure the daemon doesn't die. This is equivalent to apachectl -k
restart.
fullstatus
Displays a full status report from mod_status. For this to work, you need to have mod_status enabled on your server and a text-based
browser such as lynx available on your system. The URL used to access the status report can be set by editing the STATUSURL variable
in the script.
status Displays a brief status report. Similar to the fullstatus option, except that the list of requests currently being served is omit-
ted.
graceful
Gracefully restarts the Apache httpd daemon. If the daemon is not running, it is started. This differs from a normal restart in that
currently open connections are not aborted. A side effect is that old log files will not be closed immediately. This means that if
used in a log rotation script, a substantial delay may be necessary to ensure that the old log files are closed before processing
them. This command automatically checks the configuration files as in configtest before initiating the restart to make sure Apache
doesn't die. This is equivalent to apachectl -k graceful.
graceful-stop
Gracefully stops the Apache httpd daemon. This differs from a normal stop in that currently open connections are not aborted. A side
effect is that old log files will not be closed immediately. This is equivalent to apachectl -k graceful-stop.
configtest
Run a configuration file syntax test. It parses the configuration files and either reports Syntax Ok or detailed information about
the particular syntax error. This is equivalent to apachectl -t.
The following option was available in earlier versions but has been removed.
startssl
To start httpd with SSL support, you should edit your configuration file to include the relevant directives and then use the normal
apachectl start.
Apache HTTP Server 2005-08-26 APACHECTL(8)