connect.h

来自「包含客户和服务器的升级程序,在linux下可以运行的.」· C头文件 代码 · 共 66 行

H
66
字号
/* * Copyright (C) 2006, Binary Ma * Licence: GNU GPL 1991 - version 2 * Bug report: binary@eniak.org*/#ifndef __LIB_CONNECT    #define __LIB_CONNECT 1#include <sys/types.h>#include <string.h>extern const int ONTIME;int select_io( int fd, int delay, bool is_in );int select_i( int fd, int delay );int select_o( int fd, int delay );class tcpbase{public:    tcpbase( int delay );    tcpbase( int sock, int delay );    ~tcpbase();    long recv( void* buf, long size );    long send( const void* buf, long size );    off_t sendfile( const char* file, off_t offset = 0 );    off_t recvfile( const char* file, bool brkmode = false );        int dup_sock();    void close_sock();    int error();protected:    int m_sock;    int m_error;private:    int m_delay;};class tcpserver: public tcpbase{public:    tcpserver( const char* host, const char* port, int delay, int backlog = 1024 );    ~tcpserver();        // if delay less then 0, block indefinitely.    int accept( int delay = -1 );    void close_listen();    const char* accept_addr();private:    int m_sock_listen;    char m_accept[64];};class tcpclient: public tcpbase{public:    tcpclient( const char* host, const char* port, int delay );    ~tcpclient();};#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?