我的vc socket 操作類 SDK

2021-04-02 14:40:05 字數 2306 閱讀 8761

#ifndef _gggsocket

#define _gggsocket

//#include

////2003-6-11 13:46 afxsock.h

//自定義的socket函式

/*bool accept(socket &,struct sockaddr &,socket &);

bool gggsocket_receive(socket ,char *,int *);

bool gggsocket_send(socket &,char *,int );

void close(socket &);

bool gggsocket_set_socke(socket &,hwnd hwnd,long levent);

*/class gggsocket

bool listen(unsigned short );   //監聽

bool accept(gggsocket &);

int receive(char *,int ,int );   //接收資料 返**到的實現長度

bool send(char *,int ,int );

bool connect(char *,unsigned short ); //聯接上伺服器 1.伺服器位址 2.埠

bool select(hwnd ,unsigned int ,long ); //設定socket事件

void close();

};bool gggsocket::inisock() //初始化socket

//確保windows sockets dll 支援1.1

if((lobyte(wsadata.wversion)!=1) || (hibyte(wsadata.wversion)!=1))

建立socket 第二步

socketid=socket(af_inet,sock_stream,0);

if(socketid==invalid_socket)

return true;

}//建產伺服器方式的聯接

bool gggsocket::create(unsigned short serverport) //建產socket建接

return true;

}//監聽

bool gggsocket::listen(unsigned short numb)

//處於接收狀態 server 為子程序的socket 採用引用變數

bool gggsocket::accept(gggsocket &server)

return true;

}//接收資料

int gggsocket::receive(char *buffer,int buflen,int flag=0)

}return(buflen);

}//傳送資料

bool gggsocket::send(char *lsbuf,int buflen,int flag=0)

if(length!=buflen)

return(true);

}//聯接到伺服器

bool gggsocket::connect(char *servername,unsigned short serverport) //建產socket建接

/*if (iahost.s_addr == inaddr_none)

else

if (lphostentry == null)

*/memset(&server_addr,0,sizeof(server_addr));

server_addr.sin_port = htons(serverport);

memcpy((char *)&server_addr.sin_addr,(char *)lphostentry->h_addr,lphostentry->h_length);

// server_addr.sin_addr = *((lpin_addr)*lphostentry->h_addr_list);

server_addr.sin_family = af_inet;

if(connect(socketid, (struct sockaddr *)&server_addr, sizeof(server_addr))==socket_error)

}return true;

}//關閉socket

void gggsocket::close()

bool gggsocket::select(hwnd hwnd,unsigned int msgid,long levent)

return(true);

}#endif

我的DbHelper資料操作類

其實,微軟的企業庫中有乙個非常不錯的資料操作類了.但是,不少公司 起碼我遇到的幾個.對一些 封裝 了些什麼的東西不太敢用,雖然我推薦過微軟的企業庫框架了.但是還是要 評估 一評就是幾個月.而且,一些公司有的根本就是裸ado.net開發,或者自己封裝的資料庫操作類非常彆扭,很不好用.這裡我給大家共享乙...

我的資料庫操作類

using system using system.web using system.data using system.data.sqlclient namespace dataaccess 開啟資料庫 public void open 新增更新記錄 public int moddata stri...

MFC中Doc類獲取View類的方法(SDI)

從view類中獲取doc的方法如下 cyourdoc pdoc getdocument 這個函式已經寫好,所以無需自己新增,使用時直接利用pdoc即可。若反過來,從doc中獲取view中的函式,就需要自己寫一些 來進行獲取view的指標。主要是通過一些成員函式進行操作 virtual positio...