下一章我会为我们介绍DYCOM的服务端和客户端的祥细使用办法以及相关函数的证实。

固然是如此简单,大家做到了有关DYCOM中使用JSON的相关操作了。而及时周都唯有当DYCOM的组件内,无需再一次引用其他零件!

var msg = DYWriter.GetDYBytes(“hello DYCOM”,Encoding.UTF8);

c)DYCOM协议编写器(DYWriter)和朗诵取器(DYReader)。无可口非我们出的网络游戏和通信应用还要使一个急迅且占用网络资源少之说道去增强使用的用户体验,其中最直接的思路肯定就是用二前行制流数据举办网络传输方案。而DYCOM的商谈编写器和朗诵取器正是为及时一个功效要起的。它们得以帮助您将你的常用变量变成二上制流,而以网络另一样端的收纳后扶你復苏成您初的常用变量类型。而且每个变量的各种为得以随便由我们协调随便定义。它们一旦坚守一个规则,这就是读取器读取协议的变量时得以协议编写器编写协商的先后顺序一样。为了更可以证实问题,这里我推四只例证。我们可透过就简单个简单的代码更便于理解DYCOM的协商编写器和朗诵取器。

info infoInstance = new info();
infoInstance.intData = 1;
infoInstance.stringData = “hello DYCOM”;

以上代码重假如以mapper.ToJson函数把info实例类infoInstance体系化为一个json字符串并付值到jsonString中。由于现行jsonString是一个字符串,咱们全通过上的事例1要例子2来对之jsonString进行网络传递。

 json 1

直在visual
studio运行是路即便凡一个基础的劳务器端程序。它提供了一个基础功用,就是收取至一个字符串后即时广播及有都连的客户端.可见。要建一个基础的服务端程序我们同样句子代码也非用写,只要鼠标点点即可建立。

b)关于DYCOM的网通信协议。DYCOM为了为服务得适用于IM,游戏,录像,音乐等以场境的开,主旨措施里所传递的通凡是第二前进制流数据,对于易用性方面DYCOM还提供了磋商编写器和朗诵取器。除了扶助基础之string,int32,double,datetime,boolean等等系统常用色的支撑。还长了json数据的编码和解码器。让大家出极致自由之通信协议自定制能力。也也开发一些游戏外挂或个体服务器类应用提供了连忙的得力方案。

a)项目模板可以拉你神速成立一个DYCOM基础服务.
它们得以在达成图备受左边的“栏目列表”里的“服务端模板”里下充斥至有关的路模板文件。下载回去的型模板只要坐你的visual
studio的档次模板目录下(例:C:\Users\jac\Documents\Visual Studio
2010\Templates\ProjectTemplates),然后再开visual
studio后当新建项目里,我们雅观看DYCOM的一对一项目立起。如下图:

达到例被我们好观望使用DYCOM发送一个字符串就是这样简单了。那么问题而来了,假如我们用一致音信遭到并且发送两个例外档次的量变值,这我们假设怎么样处置吧?

事例2:
编码和还原一漫漫五只变量参数的音讯,第一独假诺发送的凡一个int值为1,第二个比方发送的凡一个字符串”hello
DYCOM”

简单网络游戏联合例示:http://funsl.com/content/silverlight%E5%A4%9A%E4%BA%BA%E5%9C%A8%E7%BA%BF%E6%B8%B8%E6%88%8F%E7%A4%BA%E4%BE%8B

d)关于DYCOM中的JSON序化化器的应用方法。首先大家先行亮认识一下JSON本身就是是一个于强类型与字符串间可以轻易互转的技能。首先可以规定的凡JSON的字符串大家得经刚刚例子1底法去传递一个JSON系列化后的字符串。接着我会举一个例表达DYCOM中的JSON系列化器的用办法:

 

事例3:利用DYCOM的JSON系列化器系列化和倒序列化一个好像。

//实例化DYCOM音解码器
DY里德(Reade)r read = new DYReader(“接收及之次进制流”);

info infoInstance = mapper.ToObject<info>(jsonString);

更多DYCOM案例:

1.咱先行定义一个类似:

 

这般我们便得像新建一个便档次这样新建一个DYCOM基础服务的工程了。新建后底种都席卷一个服务精神,并生代码注释表达: 
 json 2

//处理读取到之intValue和stringValue变量

 

DYCOM用于开发网络应用程序的通信部分功用的神速支付,并且援助过平台通信技术。所补助的客户端好起DYCOM官方网站:http://dy2com.com
了然再多。。。

string jsonString = mapper.ToJson(infoInstance);

下面个词代码我们得以视运了Merge函数,它是用于合并六个由DYCOM编写器发生的流淌。在这一个参数中我们可据此豆号隔开各样编写器编写操作。这里呼吁小心一点,我们当读取这多少个流的上,读出的逐条必须和编辑时的依次一样,也就是说大家率先只读之假设一个int值,第二独凡是字符串值。

DYCOM的计划性思想是基于 服务端<—>客户端
应用开发的活。也就是是必发一个服务器中并运行在一个由于DYCOM开发之服务端应用程序,而且那顺序可以吃分布的国际互联网上之别一样华总结机访问。另一方面,咱们还要支付一个客户端应用程序。这些客户端应用程序同样通过DYCOM提供的客户端组件开发出的。那么这样的平等种网络通信型的以方案就是是:服务端<—>客户端
通信格局了。

事例1:编码和复苏一个字符串

 json 3

//处理读取到之message变量

 

}

上这词代码目标通过DYCOM协议编写器把一个字符串按UTF8编码格式编码成二上前制流,并付值到msg变量中。我们唯有待调用DYCOM.send方法把msg发送即可。那么我们即便足以经过以下的DYCOM协议读取器来回复“hello
DYCOM”这个字符串:

Silverlight实时摄头头共享项目:http://funsl.com/content/silverlight4-%E4%B8%80%E5%AF%B9%E5%A4%9A%E8%A7%86%E9%A2%91%E5%AE%9E%E6%97%B6%E5%85%B1%E4%BA%AB

JsonMapper mapper = new JsonMapper();

 

DYWriter.Merge(DYWriter.GetDYBytes(1), DYWriter.GetDYBytes(“hello
DYCOM”, Encoding.UTF8)));

//变量
string message;
//读来一个字符串值到message变量,使用UTF8解码
if (read.ReadString(out message, Encoding.UTF8))
{

2.实例化一个JSON连串化器,并取名为mapper:

}

3.管一个info类连串化为一个JSON字符串到一个jsonSTring的变量:

4.尾声我们网络边一样端到之jsonString后,我们安管这字符串反系列化为infoInstance呢?代码如下:

立异案例请进来DYCOM官网:http://www.dy2com.com/a/DYcomanli/

//变量

开源项目:基于DYCOM的几近丁在线网络游戏(silverlight客户端)地址:
http://flyer.codeplex.com

public class info
{
    public int intData { get; set; }
    public string stringData { get; set; }
}

//实例化DYCOM信解码器
DY里德(Reade)r read = new DYReader(“接收及的第二前行制流”);

读取还原的下虽然登记六只地点,一凡朗诵来各样必须与编时之逐条一样,二凡是起之时刻我们得在if语句里之所以&&来平等资读出整久音信的有变量。这样操作代码更优雅.

利用前的预备干活:

跻身DYCOM的官方网站,大家可以在网站主菜单的”DYCOM下载”,看到所有的DYCOM服务端和客户端组件的下载地址,并且在网页遭到右侧提供了分类索引,我们可以通过分类快速找到大家虽然下载的各样技术平台的DYCOM组件:

我们先行了理一下DYCOM的选拔情势,首先DYCOM是经过dll的艺术提供了二次开发的编程接口,大家率先得交DYCOM官网下充斥相应用dll组件使用。

int intValue;
string stringValue;
//读来一个字符串值到message变量,使用UTF8解码
if (read.ReadInt32(out intValue) && read.ReadString(out stringValue,
Encoding.UTF8))
{

因而下边的少数个例证。相信我们已明白DYCOM的磋商编写器和朗诵取器的用法了。如有重复多问题要到DYCOM官方识论坛:http://bbs.dy2com.com
举行更多啄磨。

相关文章

网站地图xml地图