免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2309 | 回复: 2
打印 上一主题 下一主题

VC新手向各位大哥请教一个MFC和网络编程socket的问题,谢谢! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-06-12 17:35 |只看该作者 |倒序浏览
我要做的是和目标主机建立连接,连接成功后向它发送数据。
和主机建立连接这个工作已经完成了。
但是连接上主机后发送数据小弟有两个问题请教一下各位大哥:
我创建了一个edit control为IDC_SEND_DATA,并设置其属性MultiLine为True,也就是让edit control支持多行输入。
当我把一段数据copy到IDC_SEND_DATA里后,我如何把这段数据放到一个缓冲区?这个缓冲区怎么设定?名字是什么?------------------------------问题1
我接下来发送的时候调用函数:
int send( SOCKET s,      const char FAR *buf,      int len,      int flags );  
里面的const char FAR *buf就是上面提到的那个缓冲区吗?------------------------------------------------------------------------------------问题2
还有,这个int len怎么计算啊?---------------------------------------------------------------------------------------------------------------问题3
小弟是新手,边在网上搜资料边做项目,有些东西各位大哥看来比较简单比较幼稚,可我还是不怎么会,麻烦各位大哥给我解释一下,谢谢了!

论坛徽章:
0
2 [报告]
发表于 2012-06-12 18:38 |只看该作者
本帖最后由 Moon_Bird 于 2012-06-12 19:08 编辑

回复 1# bress111
1:
#define BUFFER_SIZE    100  //设定缓冲区大小
char buffer[BUFFER_SIZE];
bzero(buffer,BUFFER_SIZE);
((CEdit*)GetDlgItem(IDC_SEND_DATA))->GetWindowText(buffer,BUFFER_SIZE-1);//将控件的值读入缓冲区
2: buf 即为存放发送数据的缓冲区
3:len 为发送数据的大小,为sizeof(buf);
   

论坛徽章:
0
3 [报告]
发表于 2012-06-13 09:11 |只看该作者
非常感谢!不过((CEdit*)GetDlgItem(IDC_SEND_DATA))->GetWindowText(buff,BUFFER_SIZE-1);这一句刚运行了还有点问题,1>f:\lakerdemo\lakerdemo\createconnectwindow.cpp(97) : error C2440: “类型转换”: 无法从“ATL::CWindow”转换为“WTL::CEdit *”
1>        没有可用于执行该转换的用户定义的转换运算符,或者无法调用该运算符
1>f:\lakerdemo\lakerdemo\createconnectwindow.cpp(97) : error C2227: “->GetWindowTextW”的左边必须指向类/结构/联合/泛型类型
呵呵,不过我自己调一下好了,谢谢大哥了哈!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP