专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > C语言

关于网络!该怎么解决

发布时间:2011-06-28 16:14:58 文章来源:www.iduyao.cn 采编人员:星星草
关于网络!
下面是这个程序的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); 有问题
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: