文档章节

Skynet 简单的服务编写 (1)

水果糖
 水果糖
发布于 2017/02/25 00:59
字数 122
阅读 91
收藏 0
点赞 0
评论 0

Skynet 通过内部注册的协议进行消息传输。看以下简单例子:

    1、首先我们新建一个服务network;

    2、然后对其进行发送一条lua消息,让其调用start函数进行输出;

 

main.lua

local skynet = require "skynet"

local function main()
	local n = skynet.newservice "network"
	skynet.send(n,"lua","start")
	skynet.exit()
end


skynet.start(main)

 

network.lua

local skynet = require "skynet"

local CMD = { }


function CMD.start(...)
	print "hello world!"
end

skynet.start(function()

	skynet.dispatch("lua",function(session,type,cmd,...)
		local f = assert(CMD[cmd])
		if f then
			f()
		end

	end)
end)

 

 

© 著作权归作者所有

共有 人打赏支持
水果糖
粉丝 15
博文 125
码字总数 51701
作品 0
深圳
程序员
游戏服务器架构调研报告

服务器架构调研报告 刘源霖20151119 1. 前言 本文档主要是调研分析新的手游服务端架构,为下一款手游服务端研发提供可参考的方案。主要的参考点是数据持久化,并发效率,分布式,沙盒机制,热...

shezjl ⋅ 2016/01/22 ⋅ 1

skynet 阅读笔记

https://github.com/cloudwu/skynet skynet 整体代码分为3个部分: skynet 实现是一套Actor模式的网络架构,Actor 中核心的概念包括: 在skynet的核心网络层中,主要包含: module加载采用d...

李勇2 ⋅ 2015/08/20 ⋅ 0

Skynet 设计综述

多线程模式,可以使得状态共享、数据交换更加高效。而多线程模型的诸多弊端,比如复杂的线程锁、线程调度问题等,都可以通过减小底层的规模,精简设计,最终把危害限制在很小的范围内。 做为...

曾劲松 ⋅ 2016/07/28 ⋅ 0

开源并发框架 Skynet 发布第一个正式版 v0.1.0

距离 skynet 开源项目的公布 已经有 20 月+ 了,如果从闭源阶段算起,已经超过了 30 个月。在我们公司内部有五个项目使用 skynet 开发,据有限的了解,在我们公司之外,至少有两个正式项目使...

C_Z ⋅ 2014/04/23 ⋅ 6

记一次 skynet 中使用 skynet.queue 给消息加锁时的问题

应该大多数 skynet 项目都是以 Lua 作为主开发语言。在使用 Lua 编写 skynet 服务时,基本的执行单元是 coroutine 。当有消息到达使用 Lua 编写的服务时,skynet 都会起一个 coroutine 来处理...

ylme ⋅ 03/24 ⋅ 0

当我设计游戏服务器时,我在想些什么?(2)

半年前我参与了一个手游项目,第一次能够主导整个游戏的设计,这篇文章单说服务器的架构,客户端就不提了。 对于服务端,我想从之前的端游服务器改过来肯定是走不通的(详见:),因为手游的...

rangercyh ⋅ 2015/07/13 ⋅ 0

Skynet 1.0.0 RC 版发布,开源并发框架

拖了很久,终于决定给 skynet 1.0.0 封版了。比预期的时间 足足晚了半年,好在还是在 2015 年把这个事情启动了。 其实已经很久没有对已有特性做修改了,如果的项目是在今年 3 月份以后跟进的...

oschina ⋅ 2015/12/29 ⋅ 7

终于看明白 skynet的例子是怎么调用的。mark一下

服务器:simpledb.lua: skynet.register "SIMPLEDB" 向skynet里注册一个服务agent.lua: skynet.call("SIMPLEDB", "text", text) 调用相应的服务main.lua: skynet.newservice("simpledb") ......

鸟屁不会的程序猿 ⋅ 2014/03/11 ⋅ 0

开源并发框架--Skynet

红薯 ⋅ 2013/08/07 ⋅ 0

Python网络服务框架--greenev

greenev是一个基于greenlet协程,事件驱动,非阻塞socket模型的Python网络服务框架,它使得可以编写同步的代码,却得到异步执行的优点。 本项目受到gevent, openresty, alilua, skynet, clow...

Hevienz ⋅ 2015/03/15 ⋅ 3

没有更多内容

加载失败,请刷新页面

加载更多

下一页

设计模式--装饰者模式

装饰者模式 定义 动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更为灵活。 通用类图 意图 动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比...

gaob2001 ⋅ 58分钟前 ⋅ 0

JavaScript零基础入门——(八)JavaScript的数组

JavaScript零基础入门——(八)JavaScript的数组 欢迎大家回到我们的JavaScript零基础入门,上一节课我们讲了有关JavaScript正则表达式的相关知识点,便于大家更好的对字符串进行处理。这一...

JandenMa ⋅ 今天 ⋅ 0

sbt网络问题解决方案

转自:http://dblab.xmu.edu.cn/blog/maven-network-problem/ cd ~/.sbt/launchers/0.13.9unzip -q ./sbt-launch.jar 修改 vi sbt/sbt.boot.properties 增加一个oschina库地址: [reposit......

狐狸老侠 ⋅ 今天 ⋅ 0

大数据,必须掌握的10项顶级安全技术

我们看到越来越多的数据泄漏事故、勒索软件和其他类型的网络攻击,这使得安全成为一个热门话题。 去年,企业IT面临的威胁仍然处于非常高的水平,每天都会看到媒体报道大量数据泄漏事故和攻击...

p柯西 ⋅ 今天 ⋅ 0

Linux下安装配置Hadoop2.7.6

前提 安装jdk 下载 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 解压 配置 vim /etc/profile # 配置java环境变量 export JAVA_HOME=/opt/jdk1......

晨猫 ⋅ 今天 ⋅ 0

crontab工具介绍

crontab crontab 是一个用于设置周期性被执行的任务工具。 周期性执行的任务列表称为Cron Table crontab(选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该...

Linux学习笔记 ⋅ 今天 ⋅ 0

深入Java多线程——Java内存模型深入(2)

5. final域的内存语义 5.1 final域的重排序规则 1.对于final域,编译器和处理器要遵守两个重排序规则: (1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用...

江左煤郎 ⋅ 今天 ⋅ 0

面试-正向代理和反向代理

面试-正向代理和反向代理 Nginx 是一个高性能的反向代理服务器,但同时也支持正向代理方式的配置。

秋日芒草 ⋅ 今天 ⋅ 0

Spring 依赖注入(DI)

1、Setter方法注入: 通过设置方法注入依赖。这种方法既简单又常用。 类中定义set()方法: public class HelloWorldOutput{ HelloWorld helloWorld; public void setHelloWorld...

霍淇滨 ⋅ 昨天 ⋅ 0

马氏距离与欧氏距离

马氏距离 马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ的随机变量之间的差异程度。 如果协方差矩阵为单位矩阵,那么马氏距离就简化为欧氏距离,如果协方差矩阵为对角阵,则其也...

漫步当下 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部