作者sec2 (sec2)
看板HOT_Game
标题Re: [其他] 悲惨的封测
时间Sun Jun 24 23:49:37 2007
※ 引述《invalid (everlasting)》之铭言:
: >有人可以教我设定connect()的timeout吗?
: >上课不专心没学好Orz
: 还在忙星期二的期末报告XD...
: 我就我所知来回答一些好了
: 我不知道你是用哪一种socket
: winsock还是MFC的sock,还是直接用包装好的HTTP连接器
: MFC的sock有非阻断(non-blocking)模式
: 开了之後如果一段时间没有event进来就可以直接判断
: winsock的话可以先将socket一样设定成非阻断式
: 然後在透过select去检查socket是不是可写入的状态
: 如果可以写入就代表连线建立
: 建立後可再改回阻断式,程式写起来比较方便
: 包装好的话..就要绕圈圈了
: 看是建一个新的thread去连线
: 连线前设定semaphore,连好线後释放
: 降外界程式可以定时去检查semaphore已达到timeout的功能
如果是 Socket.Connect() [.Net System.Net.Sockets] 的话
直接对 Socket 更改下面两个属性即可
public int ReceiveTimeout { get; set; }
public int SendTimeout { get; set; }
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 221.169.218.183