码迷,mamicode.com
首页 > 其他好文 > 详细

scala的tcp通信

时间:2016-01-24 23:58:18      阅读:661      评论:0      收藏:0      [点我收藏+]

标签:

client:

技术分享
object ActorClient extends App {

  import actors.Actor, actors.remote.Node, actors.remote.RemoteActor

  Actor.actor {

    // 取得一个节点(ip:port 唯一标识一个节点) 

    // Node 是个 case class,所以不需要 new 

    val node = Node("127.0.0.1", 3000)

    // 取得节点对应的 actor 代理对象 

    val remoteActor = RemoteActor.select(node, server1)

    // 现在 remoteActor 就和普通的 actor 一样,可以向它发送消息了! 

    println("-- begin to send message")

    remoteActor ! "ActorClient的消息"

    println("-- end")

  }

}
View Code

server:

技术分享
object ActorServer extends App {

  import actors.Actor, actors.Actor._, actors.remote.RemoteActor

  Actor.actor { // 创建并启动一个 actor

    // 当前 actor 监听的端口: 3000

    RemoteActor.alive(3000)

    // 在 3000 端口注册本 actor,取名为 server1。

    // 第一个参数为 actor 的标识,它以单引号开头,是 Scala 中的 Symbol 量,

    // Symbol 量和字符串相似,但 Symbol 相等是基于字符串比较的。

    // self 指代当前 actor (注意此处不能用 this)

    RemoteActor.register(server1, Actor.self)

    // 收到消息后的响应

    loop {

      Actor.react {
        case msg =>

          println("server1 get: " + msg)

      }

    }

  }

}
View Code

 

scala的tcp通信

标签:

原文地址:http://www.cnblogs.com/super-d2/p/5156233.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!