summaryrefslogtreecommitdiff
path: root/Runtime/Network/ServerSocket.h
blob: 89fd375d1e15532846bca22d26ea17c6aa92a352 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef SERVERSOCKET_H
#define SERVERSOCKET_H

#if ENABLE_SOCKETS
#include "Sockets.h"
#include "SocketConsts.h"

class ServerSocket : protected Socket
{
public:
	ServerSocket(int domain = AF_INET, int type = SOCK_STREAM, int protocol = IPPROTO_TCP);

	bool StartListening(unsigned short port, bool block);
	bool StartListening(const char* ip, unsigned short port, bool block);
#if !UNITY_WINRT
	bool StartListening(const sockaddr* addr, socklen_t addr_len, bool block);
#endif

	int GetPort();
	bool IsListening() const { return m_IsListening; }

	TSocketHandle Accept();
#if !UNITY_WINRT
	TSocketHandle Accept(sockaddr* addr, socklen_t* addr_len);
#endif
private:
	bool m_IsListening;
};

#endif // ENABLE_SOCKETS
#endif // SERVERSOCKET_H