well what I usually do is build a wraper class around the C sockets....
something like
Code:
class tcp
{
private:
int sockfd;
struct sockaddr_in address;
char buffer[1000];
public:
tcp(char *,int);
int send(char*,int)
int receive();
~tcp();
};
tcp::tcp(char *ip,int port)
{
sockfd=socket(AF_INET,SOCK_STREAM,0);
if(sockfd==-1)
{
//some error handling
return;
}
address.sin_family=AF_INET;
address.sin_port=htons(port);
address.sin_addr.s_addr=inet_addr(ip);
memset(&(address.sin_zero),'\0',8);
if((connect(sockfd,(struct sockaddr *)&address,sizeof(struct sockaddr)))==-1)
{
//some error handling
return;
}
return;
}
tcp::~tcp()
{
close(sockfd);
}
int send(char *message,int length)
{
return send(sockfd,message,length);
}
int receive()
{
return receive(sockfd,buffer,1000);
}
Actually you can build an abstract class which can be used by your other classes and make it more elegant with the functionality needed....