求教局域网聊天程序

求教局域网聊天程序

初学PERL,想写个CMD下的局域网聊天程序
找了些例子,都是SERVER/CLIENT模式的
一般都是SERVER在某个端口监听,CLIENT去连接,然后发送数据给SERVER,SERVER进行FORK处理
但如果是聊天程序的话,我想每个机子都需要接受和发送数据
那是不是相当于这个程序需要既是SERVER又是CLIENT呢?
目前的想法是:
先FORK得到两个进程

  一个进程用于监听
      当有外部连接时 再FORK子进程用于读入信息到STDOUT

  另一个进程用于从STDIN输入,与其他主机建立连接并发送消息

不知道以上想法对不对,初步做了一下遇到很多问题。。。
有没有人做过这个东西,能不能发下代码,万分感谢!
server收到信息后分别转发给其他人