- 博客(1)
- 资源 (7)
- 收藏
- 关注
原创 开篇感想
入职三年来,一直在忙忙碌碌的上班,加班。。。。,加上工作体制的原因,人也逐渐变得麻木。一直觉得自己在工作中没有自我的提高。这两天参加了一个软件架构师的高级培训班,才发现自己还是有一些成就的,同时自己的思想还是有一些问题。从今天开始,我也重新开始自己的学习之路,因为当时我也是一个有理想有抱负的软件工程师,只是因为随波逐流,就失去了自己的追求。现在重新开始振作,开始写一些学习心得,并不是为了让别人看,
2015-09-23 22:28:48 130
socket 动态链接库
这是我自己编写的 测试好使通过
//========================================================================
//绑定协议栈-TCPServer mode
//========================================================================
int dllBindTCPSockServer(SOCKADDR_IN pSockAddr,RECV_DATA_CALLBACK DataCallBack, VOID* pContext)
{
int res = 0;
//Create Socket
if(glb_SockTCPServer!=NULL)
{
OutputDebugString("套接字已存在!");
return -1;
}
glb_SockTCPServer = socket(AF_INET,SOCK_STREAM,0); //Create Socket
res = WSAGetLastError();
if(res)
{
glb_SockTCPServer = NULL;
OutputDebugString("套接字建立失败!");
return res;
}
pSockAddr.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
pSockAddr.sin_family=AF_INET;
pSockAddr.sin_port = htons(pSockAddr.sin_port);
res = bind(glb_SockTCPServer,(SOCKADDR*)&pSockAddr,sizeof(SOCKADDR));
if(res)
{
OutputDebugString("绑定失败!");
closesocket(glb_SockTCPServer);
glb_SockTCPServer = NULL;
return res;
}
OutputDebugString("绑定成功!");
res = listen(glb_SockTCPServer,5);
if(res)
{
OutputDebugString("监听失败!");
closesocket(glb_SockTCPServer);
glb_SockTCPServer = NULL;
return res;
}
OutputDebugString("开始网络监听...");
//Register RecvDataCallBackServer
glb_lpFunCallBackTCPServer = DataCallBack;
glb_pContext = pContext;
//Create ListenThread
UINT (WINAPI * pFnStartAddr)(LPVOID);
pFnStartAddr = WinSockListenThread;
glb_WinSockListenThread = (HANDLE)_beginthreadex(NULL,
0,
pFnStartAddr,
NULL,
0,//0 for running, CREATE_SUSPENDED
NULL);
if (glb_WinSockListenThread==NULL)
{
OutputDebugString("创建监听线程失败!");
closesocket(glb_SockTCPServer);
glb_SockTCPServer = NULL;
glb_WinSockListenThread = NULL;
return -2;
}
return 0;
}
2010-06-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人