当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

    摘要: 刚学java,提几个幼稚的问题,望大家不要笑话。 1.session最长可以设置为多长时间? 2.每个用户都有自己的session吗? 3.服务器的session多了,对服务器的性能影响有多大? ......
    摘要: database 1 的sid为abc 我在database2 的一用户下建立了一指向abc下某用户的databaselink, link name is abc,当我使用以下语句时报错: desc t_emp@abc 错误为:abc.us.oracle.com 是连接到abc的. 查看dba_db_links,发现我建立的db_links name 为abc.us.oracle.com ......


如何获得socket的缓冲区大小

其实我是要调用send函数,但是在一个地方看到了下面的一段话,  
   
  当调用该函数时,send先比较待发送数据的长度len和套接字s的发送缓冲区的长度,如果len大于s的发送缓冲区的长度,该函数返回SOCKET_ERROR;如果len小于或者等于s的发送缓冲区的长度,那么send先检查协议是否正在发送s的发送缓冲中的数据,如果是就等待协议把数据发送完,如果协议还没有开始发送s的发送缓冲中的数据或者s的发送缓冲中没有数据,那么send就比较s的发送缓冲区的剩余空间和len,如果len大于剩余空间大小send就一直等待协议把s的发送缓冲中的数据发送完,如果len小于剩余空间大小send就仅仅把buf中的数据copy到剩余空间里。如果send函数copy数据成功,就返回实际copy的字节数,如果send在copy数据时出现错误,那么send就返回SOCKET_ERROR;如果send在等待协议传送数据时网络断开的话,那么send函数也返回SOCKET_ERROR。要注意send函数把buf中的数据成功copy到s的发送缓冲的剩余空间里后它就返回了,但是此时这些数据并不一定马上被传到连接的另一端。如果协议在后续的传送过程中出现网络错误的话,那么下一个Socket函数就会返回SOCKET_ERROR。  
   
  所以我想应该先取得socket缓冲区的长度吧,但是应该怎样取得?用getsockopt函数?可是这个东西怎么用呢?MSDN里说的好像不太详细。请指教,谢谢。

NO.1   作者: huhaiqing_2002

int   reuse;  
  getsockopt(sd,SOL_SOCKET,SO_SNDBUF,(const   char   *)&reuse,sizeof(reuse));  
  给分

NO.2   作者: xuying

用getsockopt()获得发送和接收缓冲区长度。  
  可以参考一下<windows网络编程技术>第9章,里面讲的很清楚。


    摘要: 一个表单处理的asp程序,在这个asp中可以判断是哪个页面提交的表单吗? ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE