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

📄 socket.cpp

📁 Mobile STK for Symbian OS V0.1
💻 CPP
字号:
/***************************************************//*! \class Socket    \brief STK internet socket abstract base class.    This class provides common functionality for TCP and UDP internet    socket server and client subclasses.    by Perry R. Cook and Gary P. Scavone, 1995 - 2005.*//***************************************************/#include "Socket.h"#if !defined(SYMBIAN)Socket :: Socket(){  soket_ = -1;  port_ = -1;}Socket :: ~Socket(){  this->close( soket_ );#if defined(__OS_WINDOWS__)  WSACleanup();#endif}void Socket :: close( int socket ){  if ( !isValid( socket ) ) return;#if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))  ::close( socket );#elif defined(__OS_WINDOWS__)  ::closesocket( socket );#endif}int Socket :: id( void ) const{  return soket_;}int Socket :: port( void ) const{  return port_;}bool Socket :: isValid( int socket ){  return socket != -1;}void Socket :: setBlocking( int socket, bool enable ){  if ( !isValid( socket ) ) return;#if (defined(__OS_IRIX__) || defined(__OS_LINUX__) || defined(__OS_MACOSX__))  int tmp = ::fcntl(socket, F_GETFL, 0);  if ( tmp >= 0 )    tmp = ::fcntl( socket, F_SETFL, enable ? (tmp &~ O_NONBLOCK) : (tmp | O_NONBLOCK) );#elif defined(__OS_WINDOWS__)  unsigned long non_block = !enable;  ioctlsocket( socket, FIONBIO, &non_block );#endif}int Socket :: writeBuffer(int socket, const void *buffer, long bufferSize, int flags ){  if ( !isValid( socket ) ) return -1;  return send( socket, (const char *)buffer, bufferSize, flags );}int Socket :: readBuffer(int socket, void *buffer, long bufferSize, int flags ){  if ( !isValid( socket ) ) return -1;  return recv( socket, (char *)buffer, bufferSize, flags );}#endif // SYMBIAN

⌨️ 快捷键说明

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