UNIX网络编程――套接字选项(setsockopt

  如果要已经处于连接状态的soket在调用close socket后强制关闭,不经历TIME_WAIT的过程:

  在send(),recv()过程中有时由于网络状况等原因,发收不能预期进行,而设置收发时限:

  在send()的时候,返回的是实际发送出去的字节(同步)或发送到socket缓冲区的字节(异步);系统默认的状态发送和接收一次为8688字节(约为8.5K);在实际的过程中发送数据和接收数据量比较大,可以设置socket缓冲区,而避免了send(),recv()不断的循环收发:

  如果在发送数据的时,希望不经历由系统缓冲区到socket缓冲区的拷贝而影响程序的性能:

  同上在recv()完成上述功能(默认情况是将socket缓冲区的内容拷贝到系统缓冲区):

  一般在发送UDP数据报的时候,希望该socket发送的数据具有广播特性:

  在client连接服务器过程中,如果处于非阻塞模式下的socket在connect()的过程中可以设置connect()延时,直到accept()被呼叫(本函数设置只有在非阻塞的过程中有显著的作用,在阻塞的函数调用中作用不大)

  如果在发送数据的过程中(send()没有完成,还有数据没发送)而调用了close socket(),以前我们一般采取的措施是从容关闭shutdown(s,SD_BOTH),但是数据是肯定丢失了,如何设置让程序满足具体应用的要求(即让没发完的数据发送出去后在关闭socket)

您可能还会对下面的文章感兴趣: