SocketHelper 8cpp source


SFML - Simple and Fast Multimedia Library Main Page Namespaces Classes Files File List SocketHelper.cpp00001 00002 // 00003 // SFML - Simple and Fast Multimedia Library 00004 // Copyright (C) 2007-2009 Laurent Gomila (laurent.gom@gmail.com) 00005 // 00006 // This software is provided 'as-is', without any express or implied warranty. 00007 // In no event will the authors be held liable for any damages arising from the use of this software. 00008 // 00009 // Permission is granted to anyone to use this software for any purpose, 00010 // including commercial applications, and to alter it and redistribute it freely, 00011 // subject to the following restrictions: 00012 // 00013 // 1. The origin of this software must not be misrepresented; 00014 // you must not claim that you wrote the original software. 00015 // If you use this software in a product, an acknowledgment 00016 // in the product documentation would be appreciated but is not required. 00017 // 00018 // 2. Altered source versions must be plainly marked as such, 00019 // and must not be misrepresented as being the original software. 00020 // 00021 // 3. This notice may not be removed or altered from any source distribution. 00022 // 00024 00026 // Headers 00028 #include <SFML/Network/SocketHelper.hpp> 00029 00030 00031 namespace sf 00032 { 00036 SocketHelper::SocketType SocketHelper::InvalidSocket() 00037 { 00038 return INVALID_SOCKET; 00039 } 00040 00041 00045 bool SocketHelper::Close(SocketHelper::SocketType Socket) 00046 { 00047 return closesocket(Socket) != -1; 00048 } 00049 00050 00054 void SocketHelper::SetBlocking(SocketHelper::SocketType Socket, bool Block) 00055 { 00056 unsigned long Blocking = Block ? 0 : 1; 00057 ioctlsocket(Socket, FIONBIO, &Blocking); 00058 } 00059 00060 00064 Socket::Status SocketHelper::GetErrorStatus() 00065 { 00066 switch (WSAGetLastError()) 00067 { 00068 case WSAEWOULDBLOCK : return Socket::NotReady; 00069 case WSAECONNABORTED : return Socket::Disconnected; 00070 case WSAECONNRESET : return Socket::Disconnected; 00071 case WSAETIMEDOUT : return Socket::Disconnected; 00072 case WSAENETRESET : return Socket::Disconnected; 00073 case WSAENOTCONN : return Socket::Disconnected; 00074 default : return Socket::Error; 00075 } 00076 } 00077 00078 00080 // Windows needs some initialization and cleanup to get 00081 // sockets working properly... so let's create a class that will 00082 // do it automatically 00084 struct SocketInitializer 00085 { 00086 SocketInitializer() 00087 { 00088 WSADATA InitData; 00089 WSAStartup(MAKEWORD(2,2), &InitData); 00090 } 00091 00092 ~SocketInitializer() 00093 { 00094 WSACleanup(); 00095 } 00096 }; 00097 00098 SocketInitializer GlobalInitializer; 00099 00100 } // namespace sf  ::  Copyright © 2007-2008 Laurent Gomila, all rights reserved  ::  Documentation generated by doxygen 1.5.2  :: 

Wyszukiwarka

Podobne podstrony:
SocketUDP?pp source
SocketTCP?pp source
SocketUDP 8hpp source
SocketTCP 8hpp source
Sockets 8hpp source
SocketHelper 8hpp source
source30
function socket fd isset
Matrix3?pp source
SocketClient
Thread?pp source
arm biquad ?scade ?1 ?st q31? source
arm conv ?2? source
arm mat mult q15? source
function socket select
Resource 8inl source
arm fir lattice init q31? source

więcej podobnych podstron