在VC++2005 MFC Unicode下编写网络程序需要注意的问题
来源:互联网 发布:白杨导弹知乎 编辑:程序博客网 时间:2024/05/20 18:20
在VC++2005 MFC Unicode下编写网络程序需要注意的问题
flyfish 2009年4月15日
现象:
接受到的数据为乱码或者接到只有前面一半的数据正确后面的数据为乱码
解决方法:
1 设置字符结束标志
接收数据代码如下:
CString strReceive;
TCHAR *pBuf=new TCHAR[1025];
int nRec=1024;
memset(pBuf, '/0', 1024);
nRec=m_sConnectSocket.Receive(pBuf,1024);
strReceive=pBuf;
if (nRec!=SOCKET_ERROR)
{
pBuf[nRec]=NULL;
m_RichEdit_strReceive=strReceive;
UpdateData(false);
}
else
MessageBox(_T("接受失败"));
2 Send函数数据长度乘以2
发送数据代码如下:
int nLen;//消息长度
int nSend;//已经发送消息的长度
UpdateData(true);
if (!m_RichEdit_strSend.IsEmpty())
{
nLen=m_RichEdit_strSend.GetLength();//获取消息的长度
nSend=m_sConnectSocket.Send(LPCTSTR(m_RichEdit_strSend),nLen*2);
if (nSend!=SOCKET_ERROR)
{
m_RichEdit_strAlreadySend=m_RichEdit_strSend;
m_RichEdit_strSend.Empty();
UpdateData(false);
}
else
{
MessageBox(_T("请重新发送"));
}
}
以上程序在VC++2005 MFC Unicode下调试通过
- 在VC++2005 MFC Unicode下编写网络程序需要注意的问题
- MFC和App Wizard编写网络程序需要注意的几个方面
- 关于编写QT国际化程序中需要注意的问题
- Editplus编写java程序需要注意的问题。
- vc/mfc 发布程序时要注意的一些问题
- 在IDEA中编写mybatis,需要注意的问题
- 在VS2013 中使用VC 6.0 编写的MFC 程序
- 关于MFC在Unicode下使用GetPrivateProfileString的问题
- 在WIN7下安装ORACLE需要注意的问题
- STL list在多线程下使用需要注意的问题
- VC.NET 需要注意的一些问题
- VC在windows下编写用于串行通讯的程序
- VC编写在windows7下以管理员权限运行的程序
- VC编写在windows7下以管理员权限运行的程序
- VC编写在windows7下以管理员权限运行的程序.
- VC编写在windows7下以管理员权限运行的程序
- VC编写在windows7下以管理员权限运行的程序
- 编写网络程序应该注意的几个问题
- 关于Nod32把病毒码定位到程序的iat输入表的API
- msdn asp.net[...] csdn 网摘[...]
- Windows live writer的CSDN Blog 设置
- 认识Import表-PE输入表说明
- ASP.NET性能优化的方法总结
- 在VC++2005 MFC Unicode下编写网络程序需要注意的问题
- 使用Zoundry离线编辑CSDN博客
- 使用Zoundry离线编辑博客
- 让网页自动滚屏
- VC8建立的MFC程序失去XP风格的真正原因
- ubuntu设置ip和dns
- 存储过程优点和用法
- boost开始用cmake
- [Windows编程] 使用API函数GetProcAddress的注意事项