socket怎么实现send和recv的连续发送

来源:百度知道 编辑:UC知道 时间:2024/05/18 14:20:45
我做的是一个多人聊天程序。
一方先发对方用户名username然后发chat_ininformation给server,由于是两个不同的数据,所以连续send了两次,原意是想server连续recv两次,以便区分数据,但接收到的内容都到缓冲区了,两次的内容根本分不开。请高手指点!
ps:以下方法就不用提供了
1 把两个数据连起来组成一个字符串发送。不想对数据加限制。
2 收到一个数据确认一次。数据只能单向流,另一个方向开了另一个线程 接收。

有办法啊
关键就是数据格式的设计
方法一
username#chat_ininformation,用#分开两个数据内容
方法二
你可以规定username是N个字节,chat_ininformation是M个字节,recv(sockfd,msg,N)读取前N个,其实就是username,再用recv读取后面的M个,不就可以了么?