xale-db 1.0
minimal SQL engine, written in c++
Loading...
Searching...
No Matches
WindowsListenerSocket.h
Go to the documentation of this file.
1#if defined(_WIN32) || defined(_WIN64)
2
3#ifndef NET_WINDOWS_LISTENER_SOCKET_H
4#define NET_WINDOWS_LISTENER_SOCKET_H
5
6#include <Logger.h>
7
9
10#include <winsock2.h>
11#include <ws2tcpip.h>
12#include <string>
13
14namespace Xale::Net
15{
19 class WindowsListenerSocket : public IListenerSocket
20 {
21 public:
25 WindowsListenerSocket();
26
30 ~WindowsListenerSocket();
31
37 bool open(int port) override;
38
45 int listen(std::string& buffer, size_t size) override;
46
53 int respond(const std::string* data, size_t size) override;
54
58 void close() override;
59 private:
60 Xale::Logger::Logger<WindowsListenerSocket>& _logger;
61 SOCKET _socket;
62 SOCKET _clientSocket;
63 sockaddr_in _address;
64 bool _wsaInitialized;
65 };
66}
67
68#endif // NET_WINDOWS_LISTENER_SOCKET_H
69
70#endif
71
Server-side socket: binds a port and produces per-client connections.
Definition IListenerSocket.h:16
Definition IPacket.h:8