perl
文章平均质量分 59
maxcode
这个作者很懒,什么都没留下…
展开
-
[NPWP笔记]使用perl读取文件
逐行读取文件原创 2010-12-14 00:24:00 · 939 阅读 · 0 评论 -
[NPWP笔记]自动生成子进程服务器
<br />接上文《使用多进程处理客户请求》中描述,由于它存在严重的问题---超过当前的服务线程时,程序将不再进行处理。本文中结合之前的fork技术对其进行完善,主要的修改内容是如何新增子进程和如何删除子进程。新增子进程是在当前的所有子进程都在处理客户的请求时又有新的子进程的请求到达;删除子进程是在空闲的子进程过多时,为了释放系统资源。这两个值成为服务阈值(下阈值和上阈值)。<br />父进程如何能够得知当前子进程的个数及其状态呢?父子进程将采用管道进行通信。<br />#............use原创 2010-12-27 21:01:00 · 3525 阅读 · 0 评论 -
[NPWP笔记]非阻塞文件读取
非阻塞文件读取原创 2010-12-25 11:46:00 · 2008 阅读 · 0 评论 -
[NPWP笔记]multiplexed服务器
服务器采用单线程处理,通过multiplexed监听网络IO,如果有新的客户连接请求,将其加入到select监听;当客户的请求处理完毕之后,从其从select监听中删除。use strict;use warnings;use IO::Socket;use IO::Select;my $host = "192.168.1.102";my $port = 27002;my %SESSION;my $socket = IO::Socket::INET->new(Listen =原创 2010-12-20 01:18:00 · 570 阅读 · 0 评论 -
[NPWP笔记]多线程服务器
采用一个主线程负责接收来自客户端的连接请求,对于每一个客户端的请求,由以一个线程进行处理。这样客户的连接于客户的事务处理分别在不同的线程,主线程创建完成事务处理线程之后,将不再对其进行任何控制。事务处理线程负责来自客户端的请求,将接收到的内容显示到STDOUT。因为每一个客户的请求都会导致一个事务线程的创建与销毁,因此在效率上会有所影响。 #!/usr/bin/perluse 5.006;use strict;use warnings;use threads;use IO::Sock原创 2010-12-19 20:48:00 · 640 阅读 · 0 评论 -
[NPWP笔记]Develop a multi-process server with perl
tcp server and client原创 2010-12-18 16:04:00 · 484 阅读 · 0 评论 -
[NPWP笔记]multiplexed客户端
使用multiplexed技术监听STDIN的可读数据,如果有数据可用,则将其读入到缓存中,之后通过syswrite写入到SOCKET。use strict;use warnings;use IO::Socket;use IO::Select;my $host = "192.168.1.102";my $port = 27002;my $socket = IO::Socket::INET->new("$host:$port") or die $@;my $readers原创 2010-12-19 23:48:00 · 641 阅读 · 0 评论 -
[NPWP笔记]Write a FTP client with two-process model
There are two process in this script,one for send FTP command,and another is for receiving FTP server response.use strict;use warnings;use IO::Socket;use constant BUFSIZE => 1024;#I use FileZilla Server as FTP server on Windows 2003,use this script原创 2010-12-18 16:47:00 · 555 阅读 · 0 评论 -
[NPWP笔记]从管道中读取数据
使用后缀“|”操作实现从标准输入设备中读取内容。#!/usr/bin/perluse strict;my %who;open(WHOFH,"who |") or die "can not open who:$!";while(){ next unless /^(/S+)/; $who{$1}++;}foreach (sort{$who{$b} $who{$a}} keys %who){ printf "%10s %d/n",$_原创 2010-12-16 00:12:00 · 799 阅读 · 0 评论 -
[NPWP笔记]使用多进程处理客户请求
之前《Develop a multi-process server with perl》中描述了采用都进程处理客户端的请求,监听Socket一直处于accept状态,当有客户端的请求到达时,服务器创建一个子进程,后续对客户端的请求处理全部交由此子进程。这种用法会导致频繁的创建与关闭子进程,影响服务器的性能,尤其是在大并发的情况下显得更为严重。 本文中依旧采用多线程处理客户端的请求,与上次的多进程不同的是,我们预先创建指定数目的子进程,每一个客户端的连接请求到来时,不在需要创建子进程(预先已经创建好了原创 2010-12-25 17:21:00 · 5959 阅读 · 0 评论