2009年5月26日星期二

[PerlChina] Re: 请教一个关于socket server判断客户端超时的问题

perldoc IO::Socket :
       timeout([VAL])
           Set or get the timeout value associated with this socket. If called
           without any arguments then the current setting is returned. If
           called with an argument the current setting is changed and the
           previous value returned.

perldoc -f select :

       select RBITS,WBITS,EBITS,TIMEOUT
               This calls the select(2) system call with the bit masks
               specified, which can be constructed using "fileno" and "vec",
               along these lines:


2009/5/26 Chancey <chanceycn@gmail.com>
我这样设置了 但是没用,不知道是不是其中的timeout
 
my $server = IO::Socket::INET->new( Proto => 'tcp',
                LocalPort => $port,
                Listen => 10,
                Reuse => 1,
                Timeout => 5,
);
 
2009-05-26

Chancey

发件人: purl lamp
发送时间: 2009-05-26  18:43:12
收件人: perlchina
抄送:
主题: [PerlChina] Re: 请教一个关于socket server判断客户端超时的问题
server 端用非阻塞读取模式才可以。另外 IO::Socket 模块也有 timeout 方法。

2009/5/26 Chancey <chanceycn@gmail.com>
想实现的效果是当一个客户端和server建立连接后,一段时间不操作就由server主动断开和client的连接
 
我使用accept实现了超时,但是只有当客户端发送请求后才会断开,怎样让服务器来主动断开连接呢?
 
2009-05-26

Chancey






--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
 要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
 要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
 更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛

-~----------~----~----~----~------~----~------~--~---

没有评论: