⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vsocket.h

📁 realvnc是一个非常流行的远程控制程序
💻 H
字号:
//  Copyright (C) 1999 AT&T Laboratories Cambridge. All Rights Reserved.////  This file is part of the VNC system.////  The VNC system 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.////  You should have received a copy of the GNU General Public License//  along with this program; if not, write to the Free Software//  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,//  USA.//// If the source code for the VNC system is not available from the place // whence you received this file, check http://www.uk.research.att.com/vnc or contact// the authors on vnc@uk.research.att.com for information on obtaining it.// VSocket.h// RFB V3.0// The VSocket class provides simple socket functionality,// independent of platform.  Hurrah.class VSocket;#if (!defined(_ATT_VSOCKET_DEFINED))#define _ATT_VSOCKET_DEFINED#include "VTypes.h"////////////////////////////// Socket implementation// Create one or more VSocketSystem objects per applicationclass VSocketSystem{public:	VSocketSystem();	~VSocketSystem();	VBool Initialised() {return m_status;};private:	VBool m_status;};// The main socket classclass VSocket{public:  // Constructor/Destructor  VSocket();  virtual ~VSocket();  ////////////////////////////  // Socket implementation  // Create  //        Create a socket and attach it to this VSocket object  VBool Create();  // Shutdown  //        Shutdown the currently attached socket  VBool Shutdown();  // Close  //        Close the currently attached socket  VBool Close();  // Bind  //        Bind the attached socket to the specified port  //		If localOnly is VTrue then the socket is bound only  //        to the loopback adapter.  VBool Bind(const VCard port, const VBool localOnly=VFalse);  // Connect  //        Make a stream socket connection to the specified port  //        on the named machine.  VBool Connect(const VString address, const VCard port);  // Listen  //        Set the attached socket to listen for connections  VBool Listen();  // Accept  //        If the attached socket is set to listen then this  //        call blocks waiting for an incoming connection, then  //        returns a new socket object for the new connection  VSocket *Accept();  // GetPeerName  //        If the socket is connected then this returns the name  //        of the machine to which it is connected.  //        This string MUST be copied before the next socket call...  VString GetPeerName();  // GetSockName  //		If the socket exists then the name of the local machine  //		is returned.  This string MUST be copied before the next  //		socket call!  VString GetSockName();  // Resolve  //        Uses the Winsock API to resolve the supplied DNS name to  //        an IP address and returns it as an Int32  static VCard32 Resolve(const VString name);  // SetTimeout  //        Sets the socket timeout on reads and writes.  VBool SetTimeout(VCard32 millisecs);  // I/O routines  // Send and Read return the number of bytes sent or recieved.  VInt Send(const char *buff, const VCard bufflen);  VInt Read(char *buff, const VCard bufflen);  // SendExact and ReadExact attempt to send and recieve exactly  // the specified number of bytes.  VBool SendExact(const char *buff, const VCard bufflen);  VBool ReadExact(char *buff, const VCard bufflen);  ////////////////////////////  // Internal structuresprotected:  // The internal socket id  int sock;	      };#endif // _ATT_VSOCKET_DEFINED

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -