SOCKET sock ;
是不定义了一个指针变量;
而sock=socket(AF_INET,SOCK_STREAM,0);是不得到一块分配的内存,该内存是分配在堆上,还是栈上,系统是怎么自动的回收的呢,因为我从来没有看到释放内存的操作
SOCKET Accept_sock=accept(Listen_sock,NULL,NULL);
上面的语句是不时也是分配一块内存的,
有谁知道SOCKET对应的数据结构(struct)

解决方案 »

  1.   

    SOCKET PASCAL FAR socket (int af, int type, int protocol)
    typedef u_int SOCKET
      

  2.   

    不是得到分配的内存,SOCKET就好象一个HANDLE一样,socket内部肯定会有很多操作,包括分配内存,不过这些内容都与你无关,你对与SOCKET所有相关的访问都可以将sock作为一个HANDLE一样来处理,而socket所分配的资源都将在closesocket中被释放
      

  3.   

    错,SOCKET是int类型,代表windows变量标识,和Handle差不多,
    sock=socket(AF_INET,SOCK_STREAM,0);
    是向系统申请一个网络资源ID,返回一个INT ,SOCKET好像是type def SOCKET int;
    通过资源ID控制资源.