传奇源码分析---框架
最近看游戏源码,对于⼤⼀点的源码,完全不知道怎么开始,太庞⼤了,⽹狐的源码都达到了1G多了,vc6.0打开直接卡死,不得不说
vs2010还是很不错的。⼤的源码看不懂,最后去看最⼩的源码,传奇服务端源码。
1.到winmain函数(GameSvr.cpp),InitApplication()函数注册窗⼝回调函数MainWndProc(MainWndProc.cpp). InitInstance()函数主要对窗⼝编程。
2.开启服务 回调函数调⽤OnCommand(),创建了⼀个线程InitializingServer;在线程⾥⾯调⽤ConnectToServer()函
数。ConnectToServer()⾥⾯将监听套接字(没看全局变量,推测的)注册到窗⼝回调函数⾥⾯,消息的ID
为:_IDM_CLIENTSOCK_MSG然后,⾃⼰连接这个服务器,到此ConnectToServer()函数结束。
3.由于上⼀步,收到了_IDM_CLIENTSOCK_MSG,窗⼝函数调⽤OnClientSockMsg()。这个函数⾥⾯创建
了ProcessLogin、ProcessUserHuman、ProcessMonster、ProcessNPC线程,然后通过调⽤InitServerSocket创
建CreateIOCPWorkerThread完成端⼝。继续调⽤InitThread创建AcceptThread线程,OK到此程序基本框架搭建起来
了。CreateIOCPWorkerThread⾥⾯创建了完成端⼝⼯作者线程ServerWorkerThread。
html导航源码到此服务器的基本架构搭建起来了。
直接看图吧,思路清晰⼀些。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论