3573|4

75

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

WINCE中调用connect函数出错 [复制链接]

char *sIp="192.168.11.105";
        int nPort = 3000;
        int rc;
        WSADATA  wsaData;
        //SOCKET nConnect;
        sockaddr_in  sAddr;
        struct hostent *nhost=NULL;
        rc = WSAStartup( MAKEWORD(2 ,2 ), &wsaData );
        if( rc != 0 ){
                AfxMessageBox( TEXT("WSAStartup Error" ) );
                return;
        }
        BYTE lb = LOBYTE( wsaData.wVersion );
        BYTE hb = HIBYTE( wsaData.wVersion );
        if( LOBYTE( wsaData.wVersion ) != 2 || HIBYTE( wsaData.wVersion ) != 2 ) {
                /* Tell the user that we could not find a usable */
                /* WinSock DLL.                                  */
                AfxMessageBox(TEXT("WSAStartup Version Error" ) );
                WSACleanup( );
                return;
        }
        int nsock = socket (AF_INET, SOCK_STREAM, IPPROTO_TCP);
        if( nsock == INVALID_SOCKET ){
                AfxMessageBox(TEXT("socket  Error" ) );
                WSACleanup( );
                return;
        }
        memset( &sAddr , 0 , sizeof( sAddr ) );
        sAddr.sin_family = AF_INET;
        sAddr.sin_port = htons( nPort );
        sAddr.sin_addr.s_addr = inet_addr(sIp );
       
        if( sAddr.sin_addr.s_addr == INADDR_NONE ){
      nhost = gethostbyname(sIp);
      if( nhost == NULL ){
        //return -2;
                AfxMessageBox(TEXT("gethostbyname  Error" ) );
                WSACleanup( );
                return;
      }
      CopyMemory(&sAddr.sin_addr,nhost->h_addr_list[0],nhost->h_length);
    }

        rc = connect( nsock , (struct sockaddr *)&sAddr , sizeof( sAddr ) );
        if( rc == SOCKET_ERROR ){
                AfxMessageBox(TEXT("connect  Error" ) );
                DWORD x = WSAGetLastError();
                CString s;
                s.Format(L"LastError=[%d]" , x );
                AfxMessageBox( s );
                WSACleanup( );
                return;       
        }

        .......
        closesocket( nsock );
        WSACleanup();
        AfxMessageBox( L"Connect Ok!" ) ;

以上是我的部分代码,程序在虚拟机中可以运行通过,但是在PPC机上,运行到connect的时候,将报错,出错代码是120,请问一下,这是怎么回事?
此帖出自WindowsCE论坛

最新回复

我解决了,不是你们说的原因。  详情 回复 发表于 2007-4-5 14:47
点赞 关注
 

回复
举报

73

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
现在去注册米鼠会员

参加趣味问答就能拿积分

米鼠积分可以直接够买东西哦    1积分=1RMB

网址:www.mylinux.com.cn
此帖出自WindowsCE论坛
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
SOCKET类型为什么要搞成int型呢,起码也是个UINT吧.
此帖出自WindowsCE论坛
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

4
 
程序基本上没多大问题.
此帖出自WindowsCE论坛
 
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

5
 
我解决了,不是你们说的原因。
此帖出自WindowsCE论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表