服务端:
1.在while循环条件中,将$client定义为私有my,可以防止最后忘记close($client);,从而导致客户端阻塞。
注意要在while循环条件中定义成my,如果在外面定义成私有,最后还是需要调用close($client)。
open也有这样的用法,将文件描述符$fh定义为私有my,最后程序也会自动close($fh)。
以上程序的close(),我都屏蔽了,程序正常运行。
2.不知道为什么,我在open一个管道时,会报Illegal seek,至今原因不明。
打开一个管道也可以用pipe,不过我习惯open这种方式,“-|”表示打开读的管道,“|-”表示打开写的管道。
3.向客户端发送数据时,记得最后一定要有回车分隔。
print $client $_中的$_是由exec结果所得,该字符串默认有/n结尾。
客户端:
客户端比较简单,接受服务端的消息方法有
1.单条消息用 my $message = <$server>;
2.多条消息用 my @message = <$server>;