服务器代码:
use IO::Socket::INET;# Creating a a new socket$socket=new IO::Socket::INET->new(LocalPort=>5000,Proto=>'udp');print "\nUDPServer Waiting for clIEnt on port 5000";while(1){ $socket->recv($recIEved_data,1024); $peer_address = $socket->peerhost(); $peer_port = $socket->peerport(); print "\n($peer_address,$peer_port) saID : $recIEved_data";}
客户代码::
use IO::Socket::INET;# Create a new socket$socket=new IO::Socket::INET->new(PeerAddr=>'127.0.0.1',PeerPort=>5000,Proto=>'udp');@message_array = ("message",120,"sample");$socket->send(@message_array);
在服务器端我改变了,
$socket->recv(@recIEved_data,1024);
但我收到这样的错误,
UDPServer Waiting for clIEnt on port 5000usage: $sock->recv(BUF,LEN [,FLAGS]) at udp_server.pl line 17
如何发送数组并在服务器端打印或显示它.
解决方法 您必须序列化数据.您通过线路发送序列化的数据块然后反序列化它.有很多选择.印度尼西亚Perl贩子最近发了a comparison of serialization modules
Perl附带Storable,可以正常工作,但你必须要小心,模块没有以某种方式改变,以便一个版本的序列化与另一个版本一起使用.
有些数据格式(如YAML或JSON)可能更好,因为它们不依赖于模块版本.两者都可以处理复杂的数据结构,虽然YAML可以处理Perl对象而JsON不能(尽管JSYNC可以).每个选项都有不同的权衡.
总结以上是内存溢出为你收集整理的如何在Perl中的客户端服务器程序中发送数组?全部内容,希望文章能够帮你解决如何在Perl中的客户端服务器程序中发送数组?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)