1 / 47
文档名称:

【IT书籍】Perl and UNIX Network Programming.ppt

格式:ppt   页数:47页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

【IT书籍】Perl and UNIX Network Programming.ppt

上传人:wiztre 2013/11/5 文件大小:0 KB

下载得到文件列表

【IT书籍】Perl and UNIX Network Programming.ppt

文档介绍

文档介绍:Perl and work Programming
Naoya Ito
naoya at
Why work programming?
httpd is boring
Some recent web application have special feature working.
Comet
Socket API of ActionScript 3
mini server for development, like Catalyst's
Agenda
work programming basics with Perl
I/O multiplexing
Perl libraries for work programming
work programming basics with Perl
BSD Socket API with C
int main (void) {
int listenfd, connfd;
struct sockaddr_in servaddr;
char buf[1024];
listenfd = socket(, SOCK_STREAM, 0);
bzero(&servaddr, sizeof(servaddr));
= ;
= htonl(INADDR_ANY);
= htons(9999);
bind(listenfd, (struct sockaddr *) &servaddr, sizeof(servaddr));
listen(listenfd, 5);
for (;;) {
connfd = accept(listenfd, NULL, NULL) ;
while (read(connfd, buf, sizeof(buf)) > 0) {
write(connfd, buf, strlen(buf));
}
close(connfd);
}
}
BSD Socket API
socket()
struct sockaddr_in
bind()
listen()
accept()
read() / write()
close()
work Programming
TMTOWTDI
less code
CPAN
performance is good enough
right design >> ... >> language advantage
BSD Socket API with Perl
#!/usr/local/bin/perl
use strict;
use warnings;
use Socket;
socket LISTEN_SOCK, , SOCK_STREAM, scalar getprotobyname('tcp');
bind LISTEN_SOCK, pack_sockaddr_in(9999, INADDR_ANY);
listen LISTEN_SOCK, SOMAXCONN;
while (1) {
accept CONN_SOCK, LISTEN_SOCK;
while (sysread(CONN_SOCK, my $buffer, 1024)) {
syswrite CONN_SOCK, $buffer;
}
close CONN_SOCK;
}
use IO::Socket
#!/usr/local/bin/perl
use strict;
use warnings;
use IO::Socket;
my $server = IO::Socket::INET->new(
Listen => 20,
LocalPort => 9999,
Reuse => 1,
) or die $!;
while (1) {
my $client = $server->accept;
while ($client->sysread(my $buffer, 1024)) {
$client->syswrite($buffer);
}
$client->close;
}
$server->close;
blocking work I/O
while (1) {
my $client = $server->accept;
while ($client->sysread(my $buffer, 1024)) { # block
$client->syswrite($buffer);
}
$c

最近更新

2024年全球及中国聚醚砜超滤膜行业头部企业市.. 33页

2025年推荐新时代好少年个人优秀事迹 20页

2024年全球及中国美白淡斑护肤品行业头部企业.. 44页

2025年心脏瓣膜疾病循环系统问题解析 78页

2025年心脏急救复苏技巧全解析 84页

2024年全球及中国精益合金钢行业头部企业市场.. 28页

2025年捐助大病同学倡议书范文 6页

2025年挺直生命的脊梁为话题议论文600字5篇 9页

2024年全球及中国空射精确制导武器行业头部企.. 33页

2025年心肾功能异常交互影响与诊疗策略 33页

2025年按揭购房买卖合同书怎么写 33页

2025年拼搏人生努力学习国旗下讲话范文集合(.. 8页

2025年招生主题宣传活动方案 44页

2024年全球及中国直通式冰箱行业头部企业市场.. 29页

2025年拓展活动足球活动方案 39页

2025年心源性休克急救治疗策略 34页

2024年全球及中国电子束光刻服务行业头部企业.. 29页

2024年全球及中国电动舷外推进发动机行业头部.. 33页

2025年护理年底工作总结与反思 18页

2025年护理实习心得体会范文 5页

2025年护士长工作计划 19页

2025年小学生心理建设主题课堂互动 33页

2025年护士试用期辞职报告医院范本 5页

2024年全球及中国煤质增碳剂行业头部企业市场.. 32页

2024年全球及中国热塑性酚醛树脂行业头部企业.. 27页

2024年全球及中国灭火剂用三氟碘甲烷行业头部.. 27页

2025年护士自我鉴定十篇 25页

2024年全球及中国液位仪表行业头部企业市场占.. 30页

2024年全球及中国流动粘度计行业头部企业市场.. 37页

汇报演出节目单模板 5页