select 和 send问题
guopo 2008-07-06 09:30:41 我有多个客户端需要向服务器端传输数据,客户端的每次发送数据将分2次发送,第一部分的数据是个信息头大概是这样的结构:
struct HEADER
{
INT nLength;
INT nType;
...
};
第一次调用send将发送这个结构给服务器端,告诉服务器接下来要接收的字节数。
第二部分是一个长度为第一个结构中nLength指定大小的一个数组,pData[nLength];。
第二次调用send将这个数组发送给服务端。
我想使用select模型。
我的问题是:
是不是我每次调用send之前都要调用一次select检查sokect的可写性?如果我不检查就调用send,是不是send就变成了阻塞模式了?如果是,那么我只在connect之后调用一次select可不可以?
实际应用中,我这两种方法都试过了,从效率和传输稳定性上看不出什么区别,希望牛人为我指路。谢谢。