socket编程的问题
本人新手,请大家多帮忙;
我用的是VS2008 windows控制台。我是把客户端和服务器都写在类里了。
我的问题是 客户端发送数据到服务器的时候。。客户端是如何封装数据的。数据只有char类型的字符串。我想在封装数据的时候把这个char类型数据的长度封装到它前面。然后在打包发送到服务器上去,然后服务器先解析出长度,然后在读相应长度的字符串。
希望大家能给点代码。最好是那种能写成一个函数的代码,来封装和解析。。。。。这里拜托大家了。分不是很多。。希望大家帮忙。
[解决办法]
struct header
{
int length;
}
struct header h;
把你数据长度加到length中
char *buf = new sizeof(h)+h.length;
memcpy(buf, h, sizeof(h));
memcpy(buf+sizeof(h), 你的数据, 数据长度);
send(fd, buf, ...);