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);
    }
  • 相关阅读:
    Flink实战(七十三):FLINK-SQL使用基础(一)简介(一)入门
    Flink实战(七十二):监控(四)自定义metrics相关指标(二)
    k8s启动
    k8s containerd
    安装containerd
    k8s镜像
    crictl
    Kubernetes: Using containerd 1.1 without Docker
    docker images --digests
    ctr images pull docker.io/library/redis:latest
  • 原文地址:https://www.cnblogs.com/8586/p/1441422.html
Copyright © 2011-2022 走看看