Learn
Download
Community
Development
Home
»
Learn
»
2.1 Documentation
»
Socket.hpp Source File
Français
Donate
Documentation of SFML 2.1
Warning:
this page refers to an old version of SFML. Click here to switch to the latest version.
Main Page
Modules
Classes
Files
File List
sfml
sfml
include
SFML
Network
Socket.hpp
1
2
//
3
// SFML - Simple and Fast Multimedia Library
4
// Copyright (C) 2007-2013 Laurent Gomila (laurent.gom@gmail.com)
5
//
6
// This software is provided 'as-is', without any express or implied warranty.
7
// In no event will the authors be held liable for any damages arising from the use of this software.
8
//
9
// Permission is granted to anyone to use this software for any purpose,
10
// including commercial applications, and to alter it and redistribute it freely,
11
// subject to the following restrictions:
12
//
13
// 1. The origin of this software must not be misrepresented;
14
// you must not claim that you wrote the original software.
15
// If you use this software in a product, an acknowledgment
16
// in the product documentation would be appreciated but is not required.
17
//
18
// 2. Altered source versions must be plainly marked as such,
19
// and must not be misrepresented as being the original software.
20
//
21
// 3. This notice may not be removed or altered from any source distribution.
22
//
24
25
#ifndef SFML_SOCKET_HPP
26
#define SFML_SOCKET_HPP
27
29
// Headers
31
#include <SFML/Network/Export.hpp>
32
#include <SFML/Network/SocketHandle.hpp>
33
#include <SFML/System/NonCopyable.hpp>
34
#include <vector>
35
36
37
namespace
sf
38
{
39
class
SocketSelector;
40
45
class
SFML_NETWORK_API
Socket
:
NonCopyable
46
{
47
public
:
48
53
enum
Status
54
{
55
Done
,
56
NotReady
,
57
Disconnected
,
58
Error
59
};
60
65
enum
66
{
67
AnyPort = 0
68
};
69
70
public
:
71
76
virtual
~
Socket
();
77
95
void
setBlocking(
bool
blocking);
96
105
bool
isBlocking()
const
;
106
107
protected
:
108
113
enum
Type
114
{
115
Tcp
,
116
Udp
117
};
118
127
Socket
(Type type);
128
139
SocketHandle getHandle()
const
;
140
147
void
create();
148
158
void
create(SocketHandle handle);
159
166
void
close();
167
168
private
:
169
170
friend
class
SocketSelector
;
171
173
// Member data
175
Type m_type;
176
SocketHandle m_socket;
177
bool
m_isBlocking;
178
};
179
180
}
// namespace sf
181
182
183
#endif // SFML_SOCKET_HPP
184
185