www.pudn.com > simplec++codeforp2p.rar > usocket.h


// ------------------------------------------------
// File : wsocket.h
// Date: 4-apr-2002
// Author: giles
// Desc: 
//		see .cpp for details
//		
// (c) 2002 peercast.org
// ------------------------------------------------
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// ------------------------------------------------

#ifndef _USOCKET_H
#define _USOCKET_H

#include "socket.h"
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 


// --------------------------------------------------
class UClientSocket : public ClientSocket
{
public:
	static void	init();

    UClientSocket()
    {
		sockNum = 0;
    }


	virtual void	open(Host &);
	virtual int	read(void *, int);
	virtual int	readUpto(void *, int); 
	virtual void	write(const void *, int);
	virtual void	bind(Host &);
	virtual void	connect();
	virtual void	close();
	virtual ClientSocket * accept();
	virtual bool	active() {return sockNum != 0;}
	virtual bool	readReady(); 
	virtual int numPending(); 

	virtual Host	getLocalHost();
	void	setBlocking(bool);
	void	setReuse(bool);
	void	setNagle(bool); 
	void	setLinger(int);

	static	hostent		*resolveHost(char *);

	void	checkTimeout(bool,bool); 
	void	checkTimeout2(bool,bool); 


	unsigned int sockNum;
	struct sockaddr_in remoteAddr;


};
#endif