- Inherits from:
- Object
- Declared in:
- DUDPServer.h
Object
|
+---DUDPServer
Class Description
The DUDPServer class implements a number of methods for implementing a UDP server.
(Note: this class assumes that the socket is blocking)
- Example:
#include <stdio.h>
#include "ofc/DUDPServer.h"
#include "ofc/DSocketAddress.h"
@interface MyServer : DUDPServer
{
}
- (BOOL) handleRequest :(DData *) request :(DData *) response;
@end
@implementation MyServer
- (BOOL) handleRequest :(DData *) request :(DData *) response
{
DText *str;
str = [request toText]; // Print the response
printf("Server receives the request:%s\n", [str cstring]);
[str free];
printf(".. and sends the response: Nice weather.\n");
[response set :"Nice weather" :12]; // Send the response
return YES; // Example stop the server
}
@end
int main(int argc, char *argv[])
{
MyServer *srvr = [MyServer new];
DInetSocketAddress *addr = [DInetSocketAddress new];
[addr any :7000]; // Setup the address for the server
printf("Open the server..\n");
if ([srvr open :[addr family] :[DSocket protocol :"udp"]])
{
printf("Start the server (and for a client connection) ..\n");
if (![srvr start :addr])
printf("Could not start the server ..\n");
}
else
printf("Could not open the server ..\n");
[srvr free]; // Cleanup
[addr free];
return 0;
}
- Last modified:
- 11-Aug-2008 (DUDPServer.h)
Instance Variables
- private DSocket *_local
- the local socket
- private int _sendFlag
- the send flag (def. 0)
- private int _recvFlag
- the receive flag (def. 0)
- private unsigned _recvLength
- the length used during receiving of requests (def. 1024)
- private id <DSocketAddressable> _peer
- the peer address
- Constructors
- - (DUDPServer *) init
- Initialise the UDP Server
- Returns:
- the object
- - (DUDPServer *) init :(int) family :(int) protocol
- Initialise the UDP Server for a family and protocol
- Parameters:
- family - the family (DSA_AF_INET, DSA_AF_UNIX, DSA_AF_INET6)
protocol - the protocol to be used
- Returns:
- the object
- Copy related methods
- - shallowCopy
- Do a shallow copy of the object (not implemented)
- Returns:
- the object
- Deconstructor
- - free
- Free the UDP server object
- Returns:
- the object
- Member methods
- - (int) recvFlag
- Return the receive flag
- Returns:
- the receive flag
- - (DUDPServer *) recvFlag :(int) flag
- Set the receive flag
- Parameters:
- flag - the receive flag
- Returns:
- the object
- - (unsigned) recvLength
- Return the length for receiving of requests
- Returns:
- the length
- - (DUDPServer *) recvLength :(unsigned) length
- Set the length for receiving of requests
- Parameters:
- length - the length
- Returns:
- the object
- - (int) sendFlag
- Return the send flag
- Returns:
- the send flag
- - (DUDPServer *) sendFlag :(int) flag
- Set the send flag
- Parameters:
- flag - the send flag
- Returns:
- the object
- - (DSocket *) socket
- Return the local socket for the UDP server
- Returns:
- a reference to the local socket
- Main methods
- - (BOOL) handleRequest :(DData *) request :(DData *) response
- Handle a new request by the client (called by handleRequests, to be overridden)
- Parameters:
- request - the request made by the client
respone - the destination for the response
- Returns:
- should the server be stopped ?
- - (BOOL) open :(int) family :(int) protocol
- Open the UDP server
- Parameters:
- family - the family (DSA_AF_INET, DSA_AF_UNIX, DSA_AF_INET6)
protocol - the protocol to be used
- Returns:
- success
- - (BOOL) start :(id <DSocketAddressable>) address
- Start the handling of requests (blocking, loop until error or stop request)
- Returns:
- the object
generated 06-Sep-2008 by ObjcDoc 3.0.0