not*_*ter 2 sockets perl client-server
我需要将一些数据从一台机器移动到另一台机器.使用Perl中的套接字编写客户端服务器应用程序进行传输是一个好主意吗?如果一方用Java编写,我会遇到问题吗?
我的意思是,当我尝试上述尝试时,我是否应该注意到可能遇到的任何问题?
简短回答:使用Perl程序作为客户端或服务器就可以了.您唯一的问题可能是您的个人技能和经验水平,但在您这样做后,您就知道该怎么做了.:)大多数问题是选择你需要做的,而不是涉及的技术.Perl不会成为问题,但它也没有优于其他语言的优势.
正如一些人已经注意到的那样,问题的套接字部分在大多数语言中将是相同的,因为几乎所有东西都使用BSD的东西.Perl没有任何障碍或特殊陷阱.要移动数据,请创建一侧以侦听套接字,另一侧打开连接并发送数据.十分简单.您可能想要查看Lincoln Stein的Perl网络编程.这可以让你得到低级别的位.
对于更高级别的网络,POE非常有用,一旦开始就可以轻松使用.它是处理事件驱动编程的框架,并且有许多插件可以在进程之间轻松通信.你可能花一点时间学习它,但它也给了很多回报.
如果您没有发明自己的协议,很可能已经有一个可以格式化和解析消息的Perl模块.
如果您只想传输数据,可以执行以下几项操作.最简单的概念可能只是将行写入套接字并从另一端读取它们作为行.比使用Data :: Dumper,YAML或JSON之类的东西将数据序列化为文本并发送它更复杂一点.对于更复杂的事情,例如共享Perl对象,您可能希望使用Storable.您冻结对象,通过网络将它们作为数据发送,然后在另一侧解冻它们.
如果你想用不同的语言实现你的客户端和服务器,你需要做更多的工作来弄清楚它们如何相互通信.套接字的东西大致相同,但是Java服务器不会理解Perl的Storable的输出(这是可能的,但是你必须自己解析它,这不是很好:).如果你做的一切都正确,任何一方都不应该关心你在另一方使用的东西.
| 归档时间: |
|
| 查看次数: |
509 次 |
| 最近记录: |