首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于网络!该怎么解决

2012-02-23 
关于网络!下面是这个程序的connect函数为什么一直都不成功呢?我怀疑是structsockaddr_insa这个参数传递错

关于网络!
下面是这个程序的connect函数为什么一直都不成功呢?
我怀疑是struct   sockaddr_in   sa这个参数传递错误,麻烦哪位大哥帮一下忙。上面压得很紧阿。
BOOL   IP100ComSendToNet(const   unsigned   char   *IpAddr,const   unsigned   char   *DataBuf)
{
        struct   sockaddr_in   sa;
      unsigned   int   ret;
      SOCKET   socketId;
        int   status;

        IP100ComIpAdrStringToData(IpAddr,&ret);

        sa.sin_family=AF_INET;
        sa.sin_port=htons(9000);

        sa.sin_addr.S_un.S_addr   =   htons(ret);

socketId=socket(AF_INET,   SOCK_DGRAM,0);


if(socketId   ==   ERROR)  
                printf( "socket   fail:%d\n ",   ERROR);

if(ret   !=   ERROR)
{
                if(connect(socketId,(struct   sockaddr_in   *)   &sa,   sizeof(sa))   ==   ERROR)  
    //if(connect(socketId,(const   struct   sockaddr   FAR*)   &sa,   sizeof(sa))   ==   ERROR)  
                        printf( "send   fail:%d\n ",   ERROR);
        else
        {
                        printf( "send   success:%d\n ",   OK);
                        status   =   send(socketId,   DataBuf,   strlen(DataBuf),   0);//MSG_DONTWAIT);
        }
}

close(socketId);  

        return   OK;
}


[解决办法]
sa.sin_addr.S_un.S_addr = htons(ret); 有问题

热点排行