Socket.h
上传用户:market2
上传日期:2018-11-18
资源大小:18786k
文件大小:2k
源码类别:

外挂编程

开发平台:

Windows_Unix

  1. /*
  2.  *  OpenKore C++ Standard Library
  3.  *  Copyright (C) 2006  VCL
  4.  *
  5.  *  This library is free software; you can redistribute it and/or
  6.  *  modify it under the terms of the GNU Lesser General Public
  7.  *  License as published by the Free Software Foundation; either
  8.  *  version 2.1 of the License, or (at your option) any later version.
  9.  *
  10.  *  This library is distributed in the hope that it will be useful,
  11.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  13.  *  Lesser General Public License for more details.
  14.  *
  15.  *  You should have received a copy of the GNU Lesser General Public
  16.  *  License along with this library; if not, write to the Free Software
  17.  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  18.  *  MA  02110-1301  USA
  19.  */
  20. // This file is necessary because the concrete Socket implementation class
  21. // is used by the concrete ServerSocket implementation class.
  22. #ifndef _OSL_UNIX_SOCKET_H_
  23. #define _OSL_UNIX_SOCKET_H_
  24. #include <sys/types.h>
  25. #include <sys/socket.h>
  26. namespace OSL {
  27. namespace _Intern {
  28. class InStream;
  29. class OutStream;
  30. /**
  31. * @internal
  32. * An implementation of Socket for Unix.
  33. */
  34. class UnixSocket: public Socket {
  35. private:
  36. int fd;
  37. InStream *in;
  38. OutStream *out;
  39. void construct(int fd);
  40. public:
  41. /**
  42. * Create a new UnixSocket.
  43. *
  44. * @param address The address of the server to connect to.
  45. * @param port    The port of the server.
  46. * @pre address != NULL
  47. * @pre port > 0
  48. * @throws SocketException
  49. */
  50. UnixSocket(const char *address, unsigned short port);
  51. /**
  52. * Create a new UnixSocket with the specified file descriptor.
  53. *
  54. * @param fd  A valid file descriptor.
  55. * @pre fd >= 0
  56. * @throws SocketException
  57. */
  58. UnixSocket(int fd);
  59. virtual ~UnixSocket();
  60. virtual InputStream *getInputStream() const;
  61. virtual OutputStream *getOutputStream() const;
  62. };
  63. } // namespace _Intern
  64. } // namespace OSL
  65. #endif /* _OSL_UNIX_SOCKET_H_ */