zoukankan      html  css  js  c++  java
  • 关于链表的创建 代码

    struct SocketObj
    {
        SOCKET socket;   
    //当前对象的socket
        BOOL   listening; //该套接字是否已经
        SocketObj *next, //向后
            *prev;  //向前
    };
    SocketObj 
    *g_pSocketList = NULL;  //Socket连表
    SocketObj *g_pSocketEnd = NULL;   //连表的尾部
    int        g_nSocketCount = 0;
    HANDLE g_hSelect;
    //创建SocketObj
    SocketObj* GetSocketObj(SOCKET s,BOOL listening)
    {
        SocketObj 
    *newSocketObj = NULL;
        newSocketObj 
    = (SocketObj*)HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,sizeof(SocketObj));
        
    if(newSocketObj == NULL)
        {
            cout
    <<"GetSocketObj: HeapAlloc failed: "<< GetLastError()<<endl;
            ExitProcess(
    -1);     //结束进程
        }
        newSocketObj
    ->socket = s;
        newSocketObj
    ->listening = listening;
        
    return newSocketObj;
    }

    //插入一个SocketObj
    void InserSocketObj(SocketObj *obj)
    {
        obj
    ->next = obj->prev = NULL;
        
    if(g_pSocketList == NULL)
        {
            g_pSocketList 
    = g_pSocketEnd = obj;
        }
        
    else
        {
            obj
    ->prev = g_pSocketEnd;
            g_pSocketEnd
    ->next = obj;
            g_pSocketEnd 
    = obj;
        }
        g_nSocketCount
    ++;
    }
    //删除
    void RemoveSocketObj(SocketObj *obj)
    {
        
    if(obj->prev)
        {
            obj
    ->prev->next = obj->next;
        }
        
    if(obj->next)
        {
            obj
    ->next->prev = obj->prev;
        }
        
    if(obj == g_pSocketList)
        {
            g_pSocketList 
    = obj->next;
        }
        
    if(obj == g_pSocketEnd)
        {
            g_pSocketEnd 
    = obj->prev;
        }
        g_nSocketCount
    --;
        HeapFree(GetProcessHeap(),
    0,obj);
    }
  • 相关阅读:
    个人笔记 1.3.net 3.5新特性
    个人笔记 1.2.net 2.0新特性
    面试了,web标准能简单说下吗?w3c,,错了
    SEO网络营销热门关键词排名较好的反向链接
    eWebEditor在ie8下上传失效
    个人笔记 1.4.net 3.0新特性
    个人笔记 1.5.http状态值
    MOSS项目开发(5) 会议还是会议
    MOSS项目开发 周记(第二周)
    MOSS项目开发 周记(第五周)
  • 原文地址:https://www.cnblogs.com/8586/p/1441422.html
Copyright © 2011-2022 走看看