|
1 #pragma once |
|
2 #include "../main.h" |
|
3 #include "ipaddress.h" |
|
4 #include "bytestream.h" |
|
5 |
|
6 enum { MAX_DATAGRAM_LENGTH = 5120 }; |
|
7 |
|
8 struct Datagram |
|
9 { |
|
10 Bytestream data; |
|
11 IPAddress from; |
|
12 }; |
|
13 |
|
14 // ------------------------------------------------------------------------------------------------- |
|
15 // |
|
16 class UDPSocket |
|
17 { |
|
18 public: |
|
19 UDPSocket(); |
|
20 virtual ~UDPSocket(); |
|
21 |
|
22 METHOD bind (unsigned short port) -> bool; |
|
23 METHOD read (Datagram& datagram) -> bool; |
|
24 METHOD send (const Bytestream& data, const IPAddress& addr) -> bool; |
|
25 METHOD set_blocking (bool a) -> bool; |
|
26 |
|
27 private: |
|
28 IPAddress m_addr; |
|
29 String m_error; |
|
30 int m_socket; |
|
31 }; |