Chinaunix
标题:
VC新手向各位大哥请教一个MFC和网络编程socket的问题,谢谢!
[打印本页]
作者:
bress111
时间:
2012-06-12 17:35
标题:
VC新手向各位大哥请教一个MFC和网络编程socket的问题,谢谢!
我要做的是和目标主机建立连接,连接成功后向它发送数据。
和主机建立连接这个工作已经完成了。
但是连接上主机后发送数据小弟有两个问题请教一下各位大哥:
我创建了一个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
小弟是新手,边在网上搜资料边做项目,有些东西各位大哥看来比较简单比较幼稚,可我还是不怎么会,麻烦各位大哥给我解释一下,谢谢了!
作者:
Moon_Bird
时间:
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);
作者:
bress111
时间:
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”的左边必须指向类/结构/联合/泛型类型
呵呵,不过我自己调一下好了,谢谢大哥了哈!
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2