asynctcpsocket.h
来自「本人收集整理的一份c/c++跨平台网络库」· C头文件 代码 · 共 42 行
H
42 行
#ifndef UTILS_BASE_ASYNCTCPSOCKET_H_#define UTILS_BASE_ASYNCTCPSOCKET_H_#include "asyncpacketsocket.h"namespace utils_base {// Simulates UDP semantics over TCP. Send and Recv packet sizes// are preserved, and drops packets silently on Send, rather than// buffer them in user space.class AsyncTCPSocket : public AsyncPacketSocket {public: AsyncTCPSocket(AsyncSocket* socket); virtual ~AsyncTCPSocket(); virtual int Send(const void *pv, size_t cb); virtual int SendTo(const void *pv, size_t cb, const SocketAddress& addr); sigslot::signal1<AsyncTCPSocket*> SignalConnect; sigslot::signal2<AsyncTCPSocket*,int> SignalClose;protected: int SendRaw(const void * pv, size_t cb); virtual void ProcessInput(char * data, size_t& len);private: char* inbuf_, * outbuf_; size_t insize_, inpos_, outsize_, outpos_; int Flush(); // Called by the underlying socket void OnConnectEvent(AsyncSocket* socket); void OnReadEvent(AsyncSocket* socket); void OnWriteEvent(AsyncSocket* socket); void OnCloseEvent(AsyncSocket* socket, int error);};} // namespace utils_base#endif // UTILS_BASE_ASYNCTCPSOCKET_H_
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?