从今天开始记录我编程中所犯过的错误的点点滴滴... ...
2013.01.07更新
今天写项目中遇到的问题:
1、用send函数传递结构体数据的方法:sendto(socketUdp,(char*)&LoadData,strlen((char*)&LoadData)+1,0,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
2、如何将CString对象转化为字符数组:sprintf(LoadData.InstrumentID,"%s",m_StringID); 写的时候发生了内存泄露,但是在转化回去内存泄露就消失了。
3、getwindowtext()/setwindowtext() 与 updatedata() 效果一样,都是获得编辑框的数据。不同是前者针对某一个控件操作,而后者对当前对话框的所有控件操作。
与上两个相类似的函数还有getdlgitemtext()和setdlgitemtext()
4、socket的各种问题:
4.1、给别人发消息自己为服务器,绑定自己IP,发送到别人IP。
4.2 、WSASendTo()中WSAGetLastError()出现10055错误。系统缓冲区问题,第三个参数为WSABUF结构体数目,而非要发送的字节数...
4.3、使用WSASendTo()函数发送自定义的结构体有两种办法。
4.3.1、将要发送的结构体强转成(WSABUF*),但是我碰到10055问题,现在还没解决。************************************///!!!!!!!
4.3.2、将要发送的结构体的长度和内容分别强转成(unsigned)和(char*)类型赋值给WSABUF的结构体中,然后用wsabuf发送。成功!
5、memcpy()函数不能拷贝到CString类型的对象中,只能拷贝到char[]型数组中,然后再通过char型数组赋值给CString类型的对象?
6、在对话框中加入自己写的函数时,千万别忘了在函数实现的时候加上 类名::(CXXX::)!
2013.01.15更新
7、基于TCP和基于UDP的网络应用程序在发送和接收数据时使用的函数是不一样的:TCP使用send和recv,UDP使用sendto和recvfrom。
8、WinSock五种网络模型的优势以及每种网络模型的适用条件
select模型:阻塞
优势:
不足:
异步选择:非阻塞
优势:
不足:
异步事件:非阻塞
优势:可在非窗口windows程序中实现对多个套接字的管理。
不足:没个模型最多只能管理64个套接字,如果多于64个,要额外创建线程。(可用线程池)
重叠IO:非阻塞
优势:
不足:
完成端口:非阻塞
优势:
不足:
9、使用编译器时无意按了Insert会让回车不换行,再按一次就好了。
1月17日更新
10、