动态库大意是一个用于网络查询的对话框,其间要创建一个socket对象,代码如下:
m_pSock=new SockClient(this);
if (!m_pSock->Create())
{
AfxMessageBox("Socket创建失败!!!!!!");
m_bSvrState=false;
}
else
{
if(!m_pSock->Connect(strSvrAddress, nPort))
{
AfxMessageBox("Socket连接失败");
m_bSvrState=false;
}
else
{
m_bSvrState=true;
m_pSock->Initialize();  //初始化CSocket中的变量
}
}
我也设定了一个导出函数:extern AFX_EXTENSION_MODULE DataClientDLL;#ifdef PNS_IMPL
#define MYDECLARE_PNS _declspec(dllexport)
#else
#define MYDECLARE_PNS _declspec(dllimport)
#endifextern MYDECLARE_PNS SockClient  *m_pSock;但是在调用这个dll时,弹出“Socket创建失败!!!!!!”,
实在不知道为什么,请各位大虾帮帮忙,谢谢啦!!

解决方案 »

  1.   

    兄弟的问题是咋解决的?我也在写ddl里的socket。我是连接成功了。但是不知道如何使用在dll里面的socket套接字。
    我是这样的。在dll里面写了几个函数。一个是socket的初始化,就是套接字的创建和启动监听。然后在别的函数里面用网络发送数据。唯一的参数就是socket套接字。然后我自己写了个测试代码。先调用dll里面的socket初始化函数进行网络的连接。测试成功。后来调用别的函数进行网络数据发送。测试出现错误,我查看过错误是我使用了未连接的套接字。不知道这个套接字我要如何做?要有简单例子发个到我邮箱472545441@qq。com。谢谢了