⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 http.h

📁 一个vxworks下http任务socket层的实现代码
💻 H
字号:

#ifndef __HTTP_H
  #define __HTTP_H

#define MAX_HTTP_FILE_NAME_LEN 50
#define MAX_HTTP_FILE  100
#define MAX_HTTP_ACTION  100
#define MAX_HTTP_FILE_LEN (64*1024)  // 程序生成WEB页面的最大长度为64K

typedef int  (* createHtmlPageT)(char *, long);

//for show real time infomation, we must contribute is html file in real time
typedef struct
{
    UINT8 fileName[MAX_HTTP_FILE_NAME_LEN];
    createHtmlPageT createHtmlPage;
    UINT32 count;
}FILE_BULID_INFO;

typedef struct
{
    UINT32 currentNo;
    FILE_BULID_INFO files[MAX_HTTP_FILE];
}HTTP_FILE_TABLE;

//if we need do something with the post command and it's params, we must call the callback function
typedef int  (* onPostFunctionT)(char * , long, char *, long);
//For simple, we must define actions with diffrent name
typedef struct
{
    UINT8 actionName[MAX_HTTP_FILE_NAME_LEN];
    UINT8 pageName[MAX_HTTP_FILE_NAME_LEN];
    onPostFunctionT onPostFunction;
}ACTION_INTO;

typedef struct
{
    UINT32 currentNo;
    ACTION_INTO actions[MAX_HTTP_ACTION];
}HTTP_ACTION_TABLE;

#define HTTP_HEAD_MAX_SENTENCE 20
#define HTTP_HEAD_MAX_WORD 20

typedef struct
{
    short sentenceNum;  // HTTP头部有多少个句子。
    struct
    {
        short sentencePtr; 
        short sentenceLen;
        short wordNum;   // 每个句子有多少个单词
        struct
        {
            short wordPtr;
            short wordLen;
        }word[HTTP_HEAD_MAX_WORD+1];
    }sentence[HTTP_HEAD_MAX_SENTENCE+1];
}HTTP_HEAD_DES;  

#define RCV_BUF_SIZE 4096   //接收数据缓冲区大小sxf 2048-->4096

typedef struct
{
    long ip;                // WEB终端的IP地址
    short port;           // WEB终端的端口号
    int connectSock;       // 正在连接的SOCK
    int rcvLen;
    UINT8 rcvBuf[RCV_BUF_SIZE + 1];
    HTTP_HEAD_DES httpHeadDes;
}HTTP_CTRL_INFO;


#endif



⌨️ 快捷键说明

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