鱼C论坛

 找回密码
 立即注册
查看: 2277|回复: 2

MFC中利用socket进行网络编程时,在ip地址转换函数inet_addr( )进行转换时无法正常工.

[复制链接]
发表于 2014-5-13 18:11:31 | 显示全部楼层 |阅读模式
4鱼币
部分代码如下:
    SOCKET sockClient=socket(AF_INET,SOCK_STREAM,0);

    //////建立连接//////
    SOCKADDR_IN addrSrv;
    BYTE filed0,filed1,filed2,filed3;
    m_bkip.GetAddress(filed0,filed1,filed2,filed3);        //从MFC里ip地址栏中获取输入的ip地址
    CString bkip;
    bkip.Format(_T("%d.%d.%d.%d"),filed0,filed1,filed2,filed3);
     // AfxMessageBox(bkip);
     
    addrSrv.sin_addr.S_un.S_addr=inet_addr("bkip");

    addrSrv.sin_family=AF_INET;
    addrSrv.sin_port=htons(4321);
    connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
前面基本没有问题,我试了被注释了的 AfxMessageBox(bkip);能够弹出获得的ip地址,就是不知道怎么就链接不上客户端...望大神帮忙!!!



   

最佳答案

查看完整内容

bkip本来就是一个变量,你再给它加双引号是把"bkip"这个字符串传进去了,而不是传递的bkip这个变量的值啊。 应该是这样的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-5-13 18:11:32 | 显示全部楼层
本帖最后由 nsonline 于 2014-5-13 20:17 编辑


bkip本来就是一个变量,你再给它加双引号是把"bkip"这个字符串传进去了,而不是传递的bkip这个变量的值啊。
addrSrv.sin_addr.S_un.S_addr=inet_addr(bkip);
应该是这样的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-5-16 18:14:36 | 显示全部楼层
额,我以前做过一个MFC的总结,里面有socket编程,看看吧, 永远前进的人VC++编程总结.zip (161.36 KB, 下载次数: 13)

keepmoving_2014-05-16_181327.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-26 22:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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