首页 > 编程语言 > 详细

Unity3d-Socket之龙一编年史network.dll分析(1)

时间:2015-08-15 19:48:47      阅读:420      评论:0      收藏:0      [点我收藏+]

今天闲着无聊,看到群里的老大共享了反编译的工具,就下载下来玩下。

 

说道反编译我个人不太推崇反编译,感觉不道德,毕竟是人家的代码,但是又回想一下,我们那代码看是抱着学习的态度又有何不可,所既是民族的也是世界的。=_=

 

好废话不多说,接着我们看看我吧一款unity制作的游戏的dll拿出来反编译了一下,收获还是蛮大的。

 

首先呢,我只是分析了一下他的socket代码,可谓是经典中的经典,很值得一学。

 

先来看看这个dll中的类和接口,了解一下大体的情况。

 

技术分享

其中最为重要的是CNetwork和CCllientSocket类。这两个类是网络连接、接收和发送的只要运行类。

 

在这个游戏中呢,他将Socket封装到了自己的类中来管理,也就是CClientSocket.cs

 

那么我们就先来看这个类实现:

 

技术分享

我们先来看看字段:

		private Socket m_oSocket;
		private SocketState m_nState;//这个是enum类型,主要记录socket的链接状态
		private byte[] m_oSendBuff;//发送的字节数组缓存
		private byte[] m_oRecvBuff;//接收的自己数组缓存
		private volatile int m_nStartPos;//发送开始的指针位置
		private volatile int m_nEndPos;//发送结束的指针位置
		private int m_nCurrRecvLen;//接收的总字节数
		private bool m_bSending;//是否在发送数据中
		private CNetwork m_oNetwork;//这个类总管理socket的管理类
		private IPacketBreaker m_oBreaker;//
		private object m_oStateLock = new object();//socket状态锁
		private object m_oSendingLock = new object();//发送状态锁

技术分享

 

Unity3d-Socket之龙一编年史network.dll分析(1)

原文:http://www.cnblogs.com/CaomaoUnity3d/p/4732713.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!