大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本文实例讲述了C++自定义封装socket操作业务类。分享给大家供大家参考,具体如下:
创新互联主要从事网站设计制作、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务老边,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108Linux下C++封装socket操作的工具类(自己实现)
socketconnector.h
#ifndef SOCKETCONNECTOR_H #define SOCKETCONNECTOR_H #include "global.h" using namespace std; class SocketConnector { public: typedef enum { ENormal, EOther, } SocketState; public: static SocketConnector * getInstance(); inline SocketState state(){ return m_state; } inline void setState(SocketState _state){ m_state = _state; } inline bool isConnected() { return m_isConnected; } inline void setConnected(bool state) { m_isConnected = state; } void start(); inline void setServerIP(string ip){ m_server_ip = ip;} inline void setServerPort(int port){ m_server_port = port; } int connect_sockfd(); int onSendMessage(string & message); private: SocketConnector(); void onConnectToServer(string & ip,int port); static void * onReportMessage(void * p); static void * onReadMessage(void * p); static void * onWriteMessage(void * p); private: SocketState m_state; bool m_isConnected; int m_sockFd; string m_server_ip; int m_server_port; pthread_t m_report_tid; pthread_t m_read_tid; pthread_t m_write_tid; }; #endif // SOCKETCONNECTOR_H
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。