2#include "../../../Defines.h"
4#ifdef USE_CAMERA_MODULE
10#include <netinet/in.h>
20typedef WiFiClient *SOCKET;
21typedef WiFiUDP *UDPSOCKET;
22typedef IPAddress IPADDRESS;
23typedef uint16_t IPPORT;
25#define NULLSOCKET NULL
27inline void closesocket(SOCKET s) {
28 printf(
"closing TCP socket\n");
36#define getRandom() random(65536)
38inline void socketpeeraddr(SOCKET s, IPADDRESS *addr, IPPORT *port) {
39 *addr = s->remoteIP();
40 *port = s->remotePort();
43inline void udpsocketclose(UDPSOCKET s) {
44 printf(
"closing UDP socket\n");
51inline UDPSOCKET udpsocketcreate(
unsigned short portNum)
53 UDPSOCKET s =
new WiFiUDP();
55 if(!s->begin(portNum)) {
56 printf(
"Can't bind port %d\n", portNum);
65inline ssize_t socketsend(SOCKET sockfd,
const void *buf,
size_t len)
67 return sockfd->write((uint8_t *) buf, len);
70inline ssize_t udpsocketsend(UDPSOCKET sockfd,
const void *buf,
size_t len,
71 IPADDRESS destaddr, IPPORT destport)
73 sockfd->beginPacket(destaddr, destport);
74 sockfd->write((
const uint8_t *) buf, len);
75 if(!sockfd->endPacket())
76 printf(
"error sending udp packet\n");
86inline int socketread(SOCKET sock,
char *buf,
size_t buflen,
int timeoutmsec)
88 if(!sock->connected()) {
89 printf(
"client has closed the socket\n");
93 int numAvail = sock->available();
94 if(numAvail == 0 && timeoutmsec != 0) {
97 numAvail = sock->available();
106 int numRead = sock->readBytes(buf, buflen);