首页 / PERL / perl socket编程
perl socket编程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了perl socket编程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1216字,纯文字阅读大概需要2分钟。
内容图文
![perl socket编程](/upload/InfoBanner/zyjiaocheng/1295/5ea2e334e3c5479180da0e02874cfa90.jpg)
soket是网络套接字,它是ip地址和端口号的组合。在perl中使用套接字需要SOCKET模块;以经过测试可以使用:下面使用如下的例子进行说明:
服务器端:
#!/usr/bin/perl -w
use Socket;
use IO::Handle;
socket(SOCK,AF_INET,SOCK_STREAM,getprotobyname("tcp"));#初始化socket
setsockopt(SOCK,SOL_SOCKET,SO_REUSEADDR,1);
my $addr=sockaddr_in(3000,INADDR_ANY);
bind(SOCK,$addr);#绑定地址
listen(SOCK,SOMAXCONN);#监听
while(1)
{
print "wait for a connect\n";
while(1){
last if my $addr1=accept(S,SOCK);#接收连接
}
print "connected\n";
S->autoflush(1);#内容不会放入缓存直接就可以输出
while(1){
next unless $msg_in=<S>;#使用套接字的描述符和文件描述符一样,这样相对于c的socket就更加方便了,当然也可以使用send, recv等函数。注意接收到的内容结尾处已经包含换行符。
last if($msg_in=~ /quit/i || $msg_in =~ /q/i);
print "$msg_in";
print S "send back: $msg_in";
}
}
close S;
close SOCK;
客户端:
#!/usr/bin/perl -w
use Socket;
use IO::Handle;
socket(SOCK,AF_INET,SOCK_STREAM,getprotobyname("tcp"));
my $addr=sockaddr_in(3000,inet_aton("localhost"));
connect(SOCK,$addr);
SOCK->autoflush(1);
while(1){
print "send msg:\n";
$in=<STDIN>;#已经包含结束符了
if($in =~ /quit/i || $in =~ /q/i)
{
print SOCK "$in";
print "bye\n";
exit 1;
}
else
{
print SOCK "$in";
$hh=<SOCK>;
print "recieve massage from server: $hh";
}
}
原文:http://blog.csdn.net/zhuzhiqi11/article/details/38865697
内容总结
以上是互联网集市为您收集整理的perl socket编程全部内容,希望文章能够帮你解决perl socket编程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。