socket发送数据总大小 以及 发送缓冲区
1.以下句话对么? 要发送的数据大于发送缓冲区就返回错误了??
int send(SOCKET s, const char *buf, int len, int flags);
Socket的send函数的执行流程:send先比较待发送数据的长度len与套接字s的发送缓冲区的长度,如果len大于s的发送缓冲区的长度,则函数返回SOCKET_ERROR——http://blog.sina.com.cn/s/blog_732784f70100t0ti.html
2.《Unix网络编程》P48: 问我要发送个100M的文件,大于发送缓冲区了,就被投入睡眠了?
套接字阻塞状态,如果套接字的write发送缓冲区容不下应用进程的所有数据(或是应用进程的缓冲区大于套
接字的发送缓冲区,或是套接字的发送缓冲区中已有其他数据),该应用进程将被投入睡眠。直到应用进程
缓冲区中的所有数据都复制到套接字缓冲区write调用才返回。