找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 4310|回复: 2

测试ACEClient提示WSAStartup失败

[复制链接]
发表于 2008-1-29 00:54:01 | 显示全部楼层 |阅读模式
提示内容:
ACE_INET_Addr::ACE_INET_Addr: localhost: 应用程序没有调用 WSAStartup,或者 WSASt
artup 失败。
connect: 应用程序没有调用 WSAStartup,或者 WSAStartup 失败。
请按任意键继续 . . .

估计是要加载一个启动代码,不过在书上没有找到相关的东西,只好来这儿问问了。

原代码如下:
// testACEClient.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"

#include "ace/INET_Addr.h"
#include "ace/SOCK_Stream.h"
#include "ace/SOCK_Connector.h"
#include "ace/Log_Msg.h"


int _tmain(int argc, _TCHAR* argv[])
{

        ACE_INET_Addr srvr (50000,ACE_LOCALHOST);

        ACE_SOCK_Connector connector;
        ACE_SOCK_Stream peer;

        if (-1 == connector.connect(peer, srvr))
        {
                ACE_ERROR_RETURN ((LM_ERROR,
                        ACE_TEXT ("%p\n"),
                        ACE_TEXT ("connect")),1);
        }

        int bc;
        char buf[64];

        peer.send_n ("uptime\n",7);
        bc = peer.recv (buf,sizeof(buf));
        write (1,buf,bc);
        peer.close();


        return 0;
}

// 应用程序没有调用 WSAStartup
发表于 2008-1-29 13:34:28 | 显示全部楼层
这时ACE以后的代码,在windows上它最终还是要调用windows的网络栈API的,我没有遇到过你的问题。我感觉是不是你应该重新编译一下ACEd.dll,在config.h中修改一下,按windows上的ACE编译方法来编译,然后link到你的程序中,再试试
发表于 2008-1-29 16:35:39 | 显示全部楼层
_tmain -> ACE_TMAIN,或者在最开始调用ACE::init();
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-12-23 08:26 , Processed in 0.021685 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表