From 87156fa3adfa2e3232a6f6e612584aa8a4ebaea1 Mon Sep 17 00:00:00 2001 From: yy1717 <fctom1215@outlook.com> Date: 星期二, 19 一月 2021 18:40:25 +0800 Subject: [PATCH] 添加模拟灯光 --- lib/src/main/cpp/common/net.h | 56 ++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 48 insertions(+), 8 deletions(-) diff --git a/lib/src/main/cpp/common/net.h b/lib/src/main/cpp/common/net.h index 48a7c7a..9f5685c 100644 --- a/lib/src/main/cpp/common/net.h +++ b/lib/src/main/cpp/common/net.h @@ -5,13 +5,53 @@ #ifndef RTKBASESTATION_NET_H #define RTKBASESTATION_NET_H -int WriteTCP(int fd, const uint8_t * buf, uint32_t len); -int ReadTCP(int fd, uint8_t * buf, uint32_t len); -int ConnectTCP(const char *ip, uint16_t port); -void DisconnectTCP(int fd); -int EstablishUDP(const char *ip, uint16_t port); -void RemoveUDP(int fd); -int WriteUDP(int fd, char *ip, uint16_t port, const uint8_t * buf, uint32_t len); -int ReadUDP(int fd, uint8_t * buf, uint32_t len); +#include <string> + +enum SERVICE_TYPE { + TYPE_SERVER, + TYPE_CLIENT +}; + +class CTcpPort +{ +public: + SERVICE_TYPE m_iServiceType; + std::string m_sIp; + int m_nPort; + bool m_connected; + + int m_pServerSocket; + int m_pClientSocket; + +public: + CTcpPort(); + virtual ~CTcpPort(); + + bool IsOpen(void); + bool CloseTcpPort(); + bool OpenTcpPort(const char *ip, int port); + void set_event_callback(void (*callback)(int, void *, void *), void *context); + void set_data_callback(void (*callback)(void *, int, void *, void *), void *context); + int WriteTCP(const uint8_t * buf, uint32_t len); +private: + int GetHostIP(const char *host_name, char *net_addr); + bool is_domain_name(const char *ip); + int socket_set_keepalive(int fd); + int tcp_connect(char *ip, uint16_t port); + + void(*event_func)(int, void *, void *); //鏁版嵁鍥炶皟鍑芥暟鎸囬拡 + void *event_func_context; //鏁版嵁鍥炶皟鍑芥暟涓婁笅鏂� + + void(*receive_data_func)(void *, int, void *, void *); //鏁版嵁鍥炶皟鍑芥暟鎸囬拡 + void *receive_data_func_context; //鏁版嵁鍥炶皟鍑芥暟涓婁笅鏂� + + static void *TcpConnectThread(void *p); + static void *TcpListenThread(void *p); +}; + +//int WriteTCP(int fd, const uint8_t * buf, uint32_t len); +//int ReadTCP(int fd, uint8_t * buf, uint32_t len); +//int ConnectTCP(const char *ip, uint16_t port); +//void DisconnectTCP(int fd); #endif //RTKBASESTATION_NET_H -- Gitblit v1.8.0