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()

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

    val remoteActor = RemoteActor.select(node, 'server1)

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

    println("-- begin to send message")

    remoteActor ! "ActorClient的消息"

    println("-- end")

  }

}

server:

object ActorServer extends App {

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

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

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

    RemoteActor.alive()

    // 在 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)

      }

    }

  }

}

scala的tcp通信的更多相关文章

  1. TCP通信

    //网络套接字编程实例,服务器端,TCP通信. #include <WinSock2.h> #pragma comment(lib,"ws2_32.lib") #inc ...

  2. 清晰易懂TCP通信原理解析(附demo、简易TCP通信库源码、解决沾包问题等)C#版

    目录 说明 TCP与UDP通信的特点 TCP中的沾包现象 自定义应用层协议 TCPLibrary通信库介绍 Demo演示 未完成功能 源码下载 说明 我前面博客中有多篇文章讲到了.NET中的网络编程, ...

  3. JAVASE02-Unit010: 多线程基础 、 TCP通信

    多线程基础 . TCP通信 * 当一个方法被synchronized修饰后,那么 * 该方法称为同步方法,即:多个线程不能同时 * 进入到方法内部执行. package day10; /** * 当多 ...

  4. 艺萌文件上传下载及自动更新系统(基于networkComms开源TCP通信框架)

    1.艺萌文件上传下载及自动更新系统,基于Winform技术,采用CS架构,开发工具为vs2010,.net2.0版本(可以很容易升级为3.5和4.0版本)开发语言c#. 本系统主要帮助客户学习基于TC ...

  5. NetworkComms V3 使用TCP通信传递IList<T>类型的数据

    客户端从服务器获取一组IList<T>类型的数据非常常见(通常从数据库中获取) 我们用NeworkComms V3来演示一下(NetworkcommsV2.x版本也同样支持) [ 使用pr ...

  6. [C语言]一个很实用的服务端和客户端进行TCP通信的实例

    本文给出一个很实用的服务端和客户端进行TCP通信的小例子.具体实现上非常简单,只是平时编写类似程序,具体步骤经常忘记,还要总是查,暂且将其记下来,方便以后参考. (1)客户端程序,编写一个文件clie ...

  7. ACE_linux:TCP通信

    1.涉及类 ACE_INET_Addr//ACE网络地址ACE_SOCK_Acceptor//ACE网络服务器ACE_SOCK_Connector//ACE网络客户端ACE_SOCK_Stream// ...

  8. 异步tcp通信——APM.Server 消息推送服务的实现

    消息推送服务 服务器推送目前流行就是私信.发布/订阅等模式,基本上都是基于会话映射,消息对列等技术实现的:高性能.分布式可以如下解决:会话映射可采用redis cluster等技术实现,消息对列可使用 ...

  9. 异步tcp通信——APM.ConsoleDemo

    APM测试 俗话说麻雀虽小,五脏俱全.apm虽然简单,但是可以实现单机高性能消息推送(可以采用redis.kafka等改造成大型分布式消息推送服务器). 测试demo: using System; u ...

随机推荐

  1. Maven的作用总结

    前言: maven项目也是一个项目,类似于javaProject,javaWebProject,就是多了些功能! 1 . 帮你下载jar包 maven项目会有一个 pom.xml文件, 在这个文件里面 ...

  2. django之form表单验证

    django中的Form一般有两种功能: 输入html 验证用户输入 #!/usr/bin/env python # -*- coding:utf- -*- import re from django ...

  3. mysql查看字段注释(帮助信息)指令

    select column_name,column_comment from INFORMATION_SCHEMA.columns where table_name='my_table'; 或者 sh ...

  4. python tkinter用Treeview实现ListView效果

    先上图 再上代码: import ttk from Tkinter import * root = Tk() tree = ttk.Treeview(root, columns=('col1','co ...

  5. 一次Android脱壳training

    一.查壳 jeb载入发现没有代码,怀疑加壳 用查壳工具查壳 (爱加密) apktool解包 得到其 package name: loading.androidmanual main activity ...

  6. Redis系列-配置文件小结

    如果不指定配置文件,Redis也可以启动,此时,redis使用默认的内置配置.不过在正式环境,常常通过配置文件[通常叫redis.conf]来配置redis. redis.conf配置格式如下: ke ...

  7. 【leetcode】Remove Duplicates from Sorted Array II

    Remove Duplicates from Sorted Array II Follow up for "Remove Duplicates":What if duplicate ...

  8. delphi控件属性大全-详解-简介

    http://blog.csdn.net/u011096030/article/details/18716713 button 组件: CAPTION 属性 :用于在按钮上显示文本内容 Cancel ...

  9. springmvc多文件上传

    @RequestMapping(value = "/upload", method = RequestMethod.POST) public void upload(@Reques ...

  10. C# Arraylist + struct 综合练习 枚举ENUE 递归

    枚举类型 一组常量的组合, 在不制定任何索引的情况下,默认第一个字段从0开始,之后的依次+1 在指定了某个索引的情况下,之后的依次+1 若之前定义的某字段的索引指向了之后的某个默认字段,那么他俩完全相 ...