I'm new to this forum. I'm working on new project for last few days and this forum already helped me on
couple of occasions. I don't have any prior experience with network programming so I'll appreciate any advise given.
I'm trying to do the following:
1. open user specified port for TCP connection and set LISTEN mode. I must be able to respond to client request but I must also be able to send data to clientin case of an event
2. I'm using interval timer in my application (SIGALRM signal every 1 s). I found article
describing connect() and interrupted system calls. I solved this problem using sigaction flag SA_RESTART.
3. I haven't figure out a way to resume communication in case of broken pipe (caused by restart of client application).
I solved some of problem with SO_REUSEADDR option.
4. I'm not sure will I be able to send data to client in case of event. Response time is not the issue. The easiest way is
to send data in timer interrupt but that is not the best practice.
5. I must resume application in case on unexpected events (signals, exception)
Any suggestion, advise, example etc. will be greatly appreciated.
1. open user specified port for TCP connection and set LISTEN mode. I must be able to respond to client request but I must also be able to send data to clientin case of an event
Is the lcient listening on a known port. If not you cannot call connect() and get a connection to your client. It has nothing to do with the listening port, necessarily, unless you have a simplex connection (both sides have a listener).
I personally believe select() is a better choice for what you are doing than is poll().
Of course that is opinion. Some implementaions support pselect() = even better.
Consider some reading. Normally what socket apps do:
loop thru their collection of listeners looking for a connect request. Take a nanosleep() or usleep() and loop again.
select() is good for this. When you get a connection request create a thread to play with it. The thread exits when the socket is closed on the remote side. Or the connection errors out.
I think beej still has this site going, it is a very good place to get some basic ideas. I just connected it still works. Amazing. Beej's Guide to Network Programming
Last edited by jim mcnamara; 05-13-2010 at 06:14 AM..
This User Gave Thanks to jim mcnamara For This Post:
in socket programming how can i : Create for example 3 blank files, namely: server, client, network
•Server: act as servers/provider, will receive all requests from different client
•Client: requesters
•Network: middle-layer of communication between server & client
any tips or... (6 Replies)
hi guys i got this code trying to make connection between the server and multi clients but when i do ./server i got message server waiting then when i run ./client it says client 1 nosuch file i dont know whats that should i use any argument plz help how to compile and run and whats the expected... (1 Reply)
i m using sockets for setting up a connection between a server and a client.
When the clients gets connected to the server, its ip is conveyed to the server through one of the predefined structures in c library...
i save this ip address in an array....1st client's ip address goes to the zeroth... (1 Reply)
Hello Everyone
Iam working on tcp/ip programming.with some time interval server has to send data.client has to close the connection and to open the connection between the time interval.this is the scenario
when iam closing the connection in client side the connection terminates.how to... (1 Reply)
my system is a stand alone system... i want to try doing socket porgramming..ihave heard that this is usually done during testing...
how can i do that....? (6 Replies)
Can anyone plz me. I need a sample code for the following description.
Its urgent.
It is C/Socket program with the following descriptions:
NAME
coreadServer - Concurrent Readers Server.
coreadClient - Concurrent Readers Client.
SYNOPSIS
coreadServer <OutputFile>
coreadClient <n>... (1 Reply)
Hello,
I actually try to make client-server program.
I'm using SCO OpenServer Release 5.0.0 and when I try to compile my code (by TELNET) I've got this error :
I'm just using this simple code :
and I get the same error if I use :
If someone can help me,
Thanks (2 Replies)