socket.h
上传用户:chn_coc
上传日期:2007-12-20
资源大小:563k
文件大小:2k
源码类别:

P2P编程

开发平台:

Windows_Unix

  1. // ------------------------------------------------ // File : socket.h // Date: 4-apr-2002 // Author: giles // Desc:  // // (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 _SOCKET_H #define _SOCKET_H #include "common.h" #include "stream.h" #define DISABLE_NAGLE 1 // -------------------------------------------------- class ClientSocket : public Stream { public: ClientSocket() { readTimeout = 30000;
  2. writeTimeout = 30000;
  3. }     // required interface virtual void open(Host &) = 0; virtual void bind(Host &) = 0; virtual void connect() = 0; virtual bool active() = 0; virtual ClientSocket *accept() = 0; virtual Host getLocalHost() = 0;
  4. virtual void setReadTimeout(unsigned int t)
  5. {
  6. readTimeout = t;
  7. }
  8. virtual void setWriteTimeout(unsigned int t)
  9. {
  10. writeTimeout = t;
  11. }
  12. virtual void setBlocking(bool) {}
  13.     static unsigned int    getIP(char *); static bool getHostname(char *,unsigned int);
  14.     virtual bool eof()     {         return active()==false;     }     Host    host; unsigned int readTimeout,writeTimeout;
  15. }; #endif