VS2008下Unicode中UDP的问题
我有一个程序,采用了上述的环境,但只能接收一个字符,代码如下:接收:
AfxSocketInit(); // 初始化WinSock
CSocket sockServ; // 创建一个CSocket类对象
sockServ.Create(Dlg->m_uintPRecv); // 创建底层套接字句柄,并设置其端口
sockServ.Listen(); // 开始监听客户端请求
char RecvBuf[100]; // 接收缓冲区字符串
CSocket sockRecv; // 用于和客户端通信的Socket对象
while (TRUE)
{
sockServ.Accept(sockRecv); // 接收用户请求并和sockRecv底层套接字绑定进行通信
sockRecv.Receive(RecvBuf,100); // 接收流式套接字数据传递到数据缓存区
sockRecv.Close(); // 关闭接收数据套接字
CString RecvText;
RecvText.Format(_T("%s\r\n"),_T("对方:"));
Dlg->m_strRecv += RecvText;
Dlg->m_strRecv += RecvBuf;
Dlg->m_strRecv += "\r\n";
...
}
发送:
AfxSocketInit(); // 初始化WinSock
CSocket sockClient; // 创建一个CSocket类对象
sockClient.Create(); // 客户端不需要绑定端口和地址,所以用默认参数
sockClient.Connect(m_strIP, m_uintPSend); // 使用流式套接字需要事先建立客户机和服务端的连接
sockClient.Send(m_strSend, m_strSend.GetLength()+1); // 连接之后发送数据
sockClient.Close();
调试中RecvBuf发送ab缓冲区中的1、2、3、4分别是a、0、b、0,估计问题在这儿,如何转换?
菜鸟,望高人指点