MFC socket编程,我在客户端要发送两种类型的数据到服务器端,服务怎么才能辨别出是哪一类数据???
MFCsocket编程实现一个聊天室,在客户端我要发送两类数据:一类数据是提示服务器客户上线,一类数据是客户的聊天内容。在服务器端我将发送这两类数据的操作分别放在不同的按...
MFC socket编程实现一个聊天室,在客户端 我要发送两类数据 :一类数据是提示服务器客户上线, 一类数据是客户的聊天内容 。 在服务器端我将发送这两类数据的操作分别放在不同的按钮的消息响应函数中,从而发到服务器端。但是现在不知道该怎么让服务器端辨别出数据类型的不同?????有什么方法可以让服务器端辨别出是哪一类数据???
展开
展开全部
你可以把数据的第一位作为标志位,比如第一位如果是0x01表示有人上线然后第二位开始是数据,如果第一位是0x02表示发送的信息然后第二位开始是数据。
更多追问追答
追问
我现在还有个问题,我现在设定的数据类型是CString,下面我该怎么在服务器端把接收到的数据的第一位取出来进行判断呢,用到什么函数呢?!?然后显示的时候,又该怎么把这个标志位去除掉,从而正确的显示???
追答
很多方法啊,可以用Cstring的下标运算str[0](等介于*str),Cstring.GetBuff()函数返回一个LPTSTR指针就是指向起始地址的(调用getbuff后记得释放),*str.getbuff()就取出了第一个字节。还有一个问题,如果是vc2003以上编译器默认编码是Unicode编码Cstring的一个字符是占2个字节的,Cstring* 这个指针等于LPCTSTR指针这两个指针都是指向宽字符的(2字节),str.GetBuff()返回LPTSTR也是指向宽字符的,这个你要注意了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询