想不明白,怎么有不少人喜欢用.NET的WINFORM编程?

chinasg 2008-07-13 11:16:06
想不明白,怎么有不少人喜欢用.NET的WINFORM编程?!
追求时髦?!
考虑过WINFORM的性能么?!
考虑过.NET Framework的大小么?

.NET 的优势应该在Internet,而不是在Windows上。
...全文
2086 124 打赏 收藏 转发到动态 举报
写回复
用AI写文章
124 条回复
切换为时间正序
请发表友善的回复…
发表回复
heguo 2011-05-30
  • 打赏
  • 举报
回复
这个帖子好哇,我得翻出来.
wpf,wcf是强者,估计就是被楼主所鄙视的"mpf,mcf"吧.
我10多年的开发经验,我喜欢的就是pb,wpf,wcf,linq,只有用这些开具工具,我才得心应手,
你说我的开发水平差也好,我承认我是蹩脚的,与cnblog上赵姐夫,包什么,韦恩,善友同学等比起来真是不敢言语.
我表示对楼主言论投出坚定的反对票.
ChrisAK 2008-07-18
  • 打赏
  • 举报
回复
[Quote=引用 29 楼 chinasg 的回复:]
如果说BS是未来的趋势,我想没有人会否认。在我觉得,微软推出.NET其实是一种战略。因为在Windows 10多年历史以来,微软忽略了一些,在很多场合失去主导而陷入被动。就如Java ,微软也曾经竞争过。而在WEB开发平台,风起云涌,现在有Falsh,PHP,JSP, Perl,Ruby 等等.

未来的时代是Internet时代,微软有这样的霸心,所以希望通过.NET一举摆脱Windows平台带来的被动。NET在WEB有它本身的优势,但还不是绝对的优势。就如企业级应用,更多的是J2EE.


你以为微软会给你夸平台搞.NET ?! 你一定梦想有一天在Unix,Linux上安装.NET Framework, 可能么?!

绝对可能!只有在.NET带给微软的盈利,远远远远大于windows 操作系统的盈利的情况下,微软才会把.NET迁移到其他的系统。[/Quote]这个不是梦想...LZ不知道Mono?
zsgbox 2008-07-16
  • 打赏
  • 举报
回复
我一直用C#做CS开发,以前用C++Builder,用了C#之后,就再也不用CB了,原因很多,我想只有用过C#开发过大型的项目,才有资格对其进行评头论足,如果只是写过几个helloWord之类的东西,当然可以发表评论,但最好不要象楼主这般口气,512内存运行.net程序慢吗?没听说过,俺现在写程序的机器还是512的条子,BS是趋势吗?不见的,原因很简单BS程序有太多的不足与限制,而影响CS程序的根本原因网络速度只会越来越快,所以两者是并行的,BS不可能取代CS,CS在接了来的N年里一样能活踹乱跳的,只是两者的结合会越来越紧,所以微软推出了智能客户端,楼主可以不喜欢.net开发Winform程序,但你不喜欢并不代表他不适合,以这种口气开这种帖子犯忌挨骂是必然的,因为有太多象我这样的人喜欢用C#开发WinForm程序。
jinjazz 2008-07-16
  • 打赏
  • 举报
回复
就楼主这幅拽样儿,就看着不顺眼,你就不要嘲笑别人摆姿态脾气暴躁了,别人再暴躁也没有问候你的生理器官。做人比做程序更重要,就你这副德性100岁也没什么值得别人尊敬的地方,另外附送你一句,你用delphi,薪水高?离开你的团队和行业背景你算个屁!
CloneCenter 2008-07-16
  • 打赏
  • 举报
回复
如果这个帖子发到java板块或者是c板块,不知道结果怎么样!楼主可以试试。

应用要分场合。

WinForm程序部署起来不方便,这个是弱势。B/S是发展趋势是因为BS部署方便,便于维护,另外,加上现在B/S程序开发的功能越来越人性化,操作的方便程序不弱于C/S模式了。

不要和Java去比较什么,Java的最大优势是跨平台,看看Oracle公司数据库的的图形化管理工具,在什么操作系统上展现出来的结果都一样,这个就是优势。.net现在还做不到跨平台。
wanbolantian 2008-07-16
  • 打赏
  • 举报
回复
很长的一篇贴子……看得累……
zhenghaibingood 2008-07-16
  • 打赏
  • 举报
回复
声明:我不是来回答楼主问题的,只是楼主的问题让我有了总结自己的想法,我想既然楼主在公共场合说话,必会容许别人在公共场合记录自己想法的了。

还是看书少啊,疑问都随看书而一个个消失了

一个好框架的设计是连学习曲线这种破东西都要考虑到的
就像有人说web开发傻瓜,说dataset傻瓜,说winform傻瓜,说.net开发人员低层次一样
这些观点都是对的,大师们也说.net开发人员层次低,
原来是因为.net framework学习曲线舒坦,原来有这些疑问的开发人员还没有跨过.net framework的三两层阶梯

好框架的设计不仅要考虑破东西,最终的考虑还是统一,当ie,mssql成clr宿主的时候,当il统一所有乱七八糟的语言的时候,我醒悟了
醉龍 2008-07-16
  • 打赏
  • 举报
回复

楼主,有件事我没有想明白,Microsoft Expression studio,paint.net[都是NET平台]为什么都很快?

楼主帮分析一下

Microsoft Expression studio 应该是微软未来战略的很重要一环吧

不会拿一个不成熟的NET平台,去开发吧!
chinasg 2008-07-16
  • 打赏
  • 举报
回复
怎么总有人喜欢摆一些老资格,在摆资格之前先掂量一下自己有没有这个资格。
尤其这位:GhostAdai,真的人如其名,呆头呆脑的。除了爱摆资格,脾气更加火爆。免费送你一句话:你除了有资格自抽你身下面的玩意,就是你自己的儿子,也没这个资格让你抽。


-----------------------------------------------------------
对于下面这位朋友,我把前几天回复中的一句话同样免费送给你:你无知就如你丑一般,别出来吓人好不?!
[Quote=引用 85 楼 sswwee 的回复:]
winform确实慢,这个是事实,但java更慢,而且慢的多得多,我单指windows,因为我、公司、客户还没见过用linux的情况。……delphi窗体程序确实不错,我原来挺喜欢那个,但是他没前途,现在基本没找delphi的程序员了……微软方便的ide倒成了批判的对象,别看那些人b装的厉害,其实他们大多数离了windows全傻眼(记事本也是微软的winform程序)。[/Quote]

同时免费送你一文本编辑器,支持130多种语法高亮,而且免费、开源---jEdit 网址:http://www.jedit.org/
顺便告诉你,也算是回答楼上的阿呆(似乎他很关注我有没有转行,呵呵),我本人还在从事Delphi,而且不夸张一点,我的薪水是你的几倍应该没有问题。

-----------------------------------------------------------

回到主题,事实上,在我的主题里面并没有提及.NET和Java的比较,也没有提及Java 和C/C++之间的比较。我的问题只是针对.NET 的Internet和windows开发。不过这个帖子继续下去,也没有意义了。不可否认的一个事实:.NET Winform还没有拿得出手的东西。

很久没有发帖,结了,每位0分,哈哈……再祝各位勤修苦练、内外兼修、十八般武艺样样精通!





最后附送一个链接:http://news.csdn.net/n/20080714/117325.html
开卷有益,呵呵,想想你是不是如链接中不幸的一员,或者 即将成为。
不要只是关心技术,要多关心经济。在IT的产业链中,你存在于什么位置?!
或许这也是那些资深人士不愿意正面回答我所提出的几个问题吧。
小辈们,去了解那几个问题,比你了解WINFORM更有意义。

ZOU_SEAFARER 2008-07-16
  • 打赏
  • 举报
回复
别作无谓的争论了,楼主是管中窥豹!
=========================
 想不明白,怎么有不少人喜欢用.NET的WINFORM编程?!
追求时髦?!
=========================


 
gts2pro 2008-07-16
  • 打赏
  • 举报
回复
想不明白!想不明白你可以问呀,不明白还那么多费话,要允许不同理念的存在。
存在即合理。
winking08 2008-07-16
  • 打赏
  • 举报
回复
这种帖子,总是引来大范围的讨论!~~~ 晕哦!~~
yangao 2008-07-16
  • 打赏
  • 举报
回复

想颠覆存在即合理这个道理
shaobinggogogo 2008-07-16
  • 打赏
  • 举报
回复
学习,在选择.
hzq1989 2008-07-16
  • 打赏
  • 举报
回复
没体验.NET 软件给你带来的方便,请不要乱下定义...
优势永远超出你的能力
slicelee 2008-07-16
  • 打赏
  • 举报
回复
Microsoft Expression studio 2中文版:
这里给出试用版下载:

Microsoft® Expression® Web 2 试用版
http://www.microsoft.com/downloads/details.aspx?FamilyID=28ca49cc-5f30-4b1f-a569-e7fdc83cef4f&DisplayLang=zh-cn

完整的Microsoft® Expression® Studio包含了web blend design Media encoder5大工具:
Microsoft® Expression® Studio 2 试用版
http://www.microsoft.com/downloads/details.aspx?FamilyID=7ae2720c-72ba-489b-adbb-ee6f3c79066d&DisplayLang=zh-cn

30天试用码:
Microsoft Expression Web 2:
GFF4B-G4JJ8-HXRPX-RV4VQ-8CV9W
Microsoft Expression Blend 2:
TJ2R3-WHW22-B848T-B78YJ-HHJWJ

这确实是一套好东西,做.net的应该试试,并且这一套工具都是彻头彻尾的.net的程序。
也希望对.net能做到啥程度有所怀疑的看看。
slicelee 2008-07-16
  • 打赏
  • 举报
回复
在补充点:目前.net的通用软件太少毕竟默认集成.net的系统Vista太惨了,通用软件都在乎这个。

而不在乎这个的,其实国内的项目采用C/S的winform的项目多了去了。

对比下jbuilder eclipse netbeans 无论启动还是使用过程中那种慢腾腾的感觉,Microsoft Expression studio 2简直太美妙了,还有paint.net,当然目前.net的通用软件才开始起步,能够找到的比较优秀的还比较少。
没有看不起JAVA的意思,只是特指在桌面软件方面,JAVA太折磨人,无论是开发还是使用比winform差太多了。
slicelee 2008-07-16
  • 打赏
  • 举报
回复
[Quote=引用 85 楼 sswwee 的回复:]
winform确实慢,这个是事实,但java更慢,而且慢的多得多,我单指windows,因为我、公司、客户还没见过用linux的情况。说做java的人水平高,狂吐,让我想起了铺天盖地地(高中起点)java国际软件工程师速成班(半年)。看看济南国税局的税务采集系统吧,其实就是把不到20项内容如地址、电话这样的数据写成一个不到1k的xml文件(数据还没有计算只是写入文件),而且每个月的数据没有关联,就是这样的一个小东西,居然安装包40兆大…
[/Quote]

个例也说明不了什么,不过java确实不适合做桌面程序,感觉是否sun自己都不重视这方面了。
现实已近说明问题,在桌面程序上,即使有跨平台优势,无论windows 还是linux都很少有java的桌面程序呵呵,能不用java就不用java,呵呵。不过这特制桌面软件。

至于.net性能不是大问题,至少目前做很多东西都能给用户很好的体验,虽然理论上不如C++。
如果对.net做大点的程序性能觉得有问题的话:
如果你用的是Vista的话我推荐一个东西给大家用,Microsoft Expression studio 2中文版,其中的Expression web做.net的一定不要错过,用过之后或许dweamwaver就要从你的硬盘上消失了,blend做WPF和SL的当然会知道这个东西,其他就不介绍了,最重要的是这一套工具是彻头彻尾的.net程序,而且还是WPF的,用过之后再来发表.net不适合做XXX程序的大论。

有人说Photoshop,corelDraw,3Dmax,AutoCAd,Premine等不用.net就说.net不能够做这些是不是太牵强了,别人的软件做了那么多年有了稳定的基础干嘛非要用.net啊,何况微软从Vista开始才真正准备好让.net真正进军桌面软件,.net winfrom在通用软件市场才是个开始,而winform的C/S架构程序早在很多行业或项目中大量应用了。

我感觉.net前途光明,只有MS做到了让B/S和C/S的开发如此统一,ASPX和winform简直太统一了统一得让人受不了,让我这种先学过点皮毛的java,jsp,servlet被swing折磨得不行的人都感觉太神奇了。
Vista看来是不行了,但以后的系统上.net的桌面程序通用软件我个人认为只会越来越多。

再次强调:怀疑.net性能的一定要用用Microsoft Expression studio 2中文版,因为这套软件对于做.net开发的人来说真的是好东西。
Clayborne 2008-07-16
  • 打赏
  • 举报
回复
该用什么就用什么,ki1381 兄弟说的对,开发周期才是关键,再加一条部署和维护成本(包括资金和人员甚至包括在一定程度内增加、修改程序的部分功能需要付出的代价)也很重要。
B/S 部署起来简单没有错,但是要是项目做的大了,服务器不是也要钱去买的么?不需要人维护的么?
讨论“怎么样利用 B/S 和 C/S 各自的优点甚至是将他们联合起来编写智能客户端的程序”比较积极一点吧,像 LZ 这个问题除了能打击一部分没什么方向感的新人之外好像没有什么意义。
GhostAdai 2008-07-16
  • 打赏
  • 举报
回复
再强调一下你所谓的“我帖子主题都写在顶楼,怎么那么简单的几个字你都看不懂么?!实在怀疑你的智商是否有些问题。
-------------------------------------------------------------------
你敢拿这句话再开个帖子问问大家看看,让大家来评评这句话是不是对人的不尊敬吗?说我断章取义?!你觉得我是针对你最后那14个字断章取义吗?!你这30个汉字外带4个标点符号每一个字符都透露着你没教养,明白吗?!
加载更多回复(104)
.Net精品就业班课程表 : 1、.Net基础加强(10天) 核心技术课程 常用数据结构(List、Dictionary、Array)、多态、常用设计模式、反射、常用.net类库、泛型、IO流、委托事件、正则表达式、XML、反射、GC等。 2、数据库开发及ADO.Net(6天) 核心技术课程 数据库开发基础、Microsoft SQLServer基础、SQL语言基础、索引、事务、SQL语言高级技术(空值处理、聚合与分组、数据分页、Union、日期函数、类型转换函数、流控函数、表连接、子查询、存储过程、触发器)、数据库设计范式、数据库调优。 ADO.Net(行集、数据集、类型化数据集、SQLHelper、SQL注入漏洞防范、数据绑定)。 3、三层架构MIS项目(5天) 查看项目演示 功能点 本项目基于流行的三层架构(DAL+BLL+UI)。 主要功能点:高安全性的用户管理体系、高安全性的异构系统数据导入导出、拼音检索、复合检索、无限级次数据管理、个性化邮件群发、Excel文件导入导出。 技术点 ADO.Net技术应用、SQLServer、MD5安全算法、基于NPOI的Excel文件处理、树状结构数据处理、递归、CodeSmith、代码生成器、三层架构。 项目说明 这是一个用WinForm技术实现的系统,传智播客在开课的半个月就安排一个项目,体现了传智播客“项目驱动学习”的先进教学理念。 4、网页开发与JavaScript(7天) 查看案例演示 核心技术课程 HTML基础加强、css(包含Div+CSS布局)、JavaScript、Dom(事件、window对象、document对象、对话框、定时器、粘贴板、动态Dom、跨浏览器兼容性解决方案、JS压缩和CDN、Internet Explorer Developer Toolbar)、JQuery(JQuery函数、隐式迭代、链式编程、id选择器、tag选择器、CSS选择器、层次选择器、表单选择器、过滤选择器、复合选择器、节点导航、节点操作、样式操作、事件、动画、JQuery Cookie、JQuery Live、JQueryUI)。 课程说明 CSS、JavaScript是ASP.Net开发的基础,把这些掌握好了就能很轻松的学会ASP.Net;Dom是实现网页动态效果的技术,在网站越来越个性化年代,招聘企业对应聘者的Dom水平要求非常高;JQuery是近几年异军突起的JavaScript框架库,几乎成了Web前端开发事实上的标准,大部分企业都是使用JQuery进行Web前端的开发。 学完了这阶段课程,学员将学会开发主流网站的前端效果,比如:焦点图、滚动展示图、网页防复制、网页自定义菜单、WebOS、美女时钟、无刷新评论、评分控件、表格特效、图片悬浮详细信息、微博界面、QQ消息框效果、Div对话框等。 5、ASP.Net开发(12天) 核心技术课程 自己动手写Web服务器(Socket、多线程)、ashx模式Web开发、ViewState、Cookie、Session、Http协议、Web开发基本原则、XSS漏洞防范、Request对象、Response对象、Server对象、虚拟路径、HttpHandler深入、ASP.Net生命周期、WebForm原理、服务端基本控件、WebShell漏洞防范、HTML服务端控件、验证框架、MasterPage、数据绑定控件(ObjectDataSource、列表类绑定控件、GridView、FormView、ListView、Repeater、高效率分页)、CKEditor、Membership、缓存、互联网调优(SEO、HTML压缩、页面静态化、移除ViewState、表单GET化)、URL重写、错误处理、AJAX(XMLHTTP、JQuery AJAX、Json)、全局文件、HttpHandler与HttpModule、IIS配置。 课程说明 由于微软对ASP.Net进行高度封装,因此ASP.Net入门非常简单,开发人员不需要了解HTML、JavaScript、Http协议也可以快速开发出一个Web系统,正因为如此,社会上充斥着大量这样的“拖控件的开发人员”,使得很多Java、PHP等语言的开发人员诋毁ASP.Net开发人员的时候经常会说“你们什么都不懂,就会拖控件”。ASP.Net的快速开发是ASP.Net非常大的一个优点,可以加快开发效率,这是行业的发展趋势,但是局限于这样的“傻瓜化开发方式”的开发人员的竞争力和成长性都是非常有限的,遇到ASP.Net一些高级技术(比如ASP.Net MVC、SEO、网站调优、服务端客户端混合编程、AJAX等)的时候就完全不能胜任。通过上一个阶段的HTML、JavaScript、Dom的学习,学员已经有了很好的HTML、JavaScript基础;在ASP.Net课程的一开始,不是直接教学员怎么拖ASP.Net控件进行快速开发,而是通过ashx的模式开发原始的动态网站,让学员明白“请求—处理—响应模型”、“Http协议、Http无状态”、“c#代码渲染生成浏览器端JavaScript”、“ViewState的作用”、“Session的原理”等这些基本而又重要的原理,从而扫清后面ASP.Net知识学习的基础性障碍。 由于访问量非常大,因此互联网项目的开发对ASP.Net开发人员的要求非常高,所以我们安排了互联网调优、缓存、网站防黑等内容。 ASP.Net中控件数量是非常多的,讲解ASP.Net的教材通常要上千页,让初学者望而生畏,其实ASP.Net大部分控件相似性非常强的,同类型的控件学会了一个那么其他控件也就很容易学会了。比如只要学会了DropDownList,那么RadioButtonList、ListBox、CheckBoxList、BulletedList等几乎不用学就会用;再比如只要学会了ListView,那么Repeater、GridView、FormView等控件也是触类旁通。传智播客认真钻研教学,对知识进行分类、整理、提炼精华,让学员在短时间内掌握ASP.Net技术。 ASP.Net中有一些技术是有局限性的,传智播客根据这些技术在企业中的实际应用情况进行了调整、补充。比如项目中几乎没有在UI层直接访问数据库的,而是采用三层架构,因此我们不讲解UI层直连数据库的控件SQLDataSource,而是把主要精力放在讲解三层架构开发模式。再比如ASP.Net内置的AJAX解决方案UpdatePanel只在部分要求不高的内网项目中才被使用,因此我们在讲解UpdatePanel的使用和原理之外,把更多的时间放在讲解企业中用的最多的JQuery AJAX解决方案上。 6、B/S系统项目(7天) 项目说明 1、网上图书商城。这是一个典型的B2C网上商城,使用经典的复杂三层架构(工厂模式)进行开发。涉及图书管理、搜索、订单管理、导航管理等核心模块。在讲解ASP.Net基础后安排这样一个B2C网上商城系统,让学员在实际项目中将学到的知识学以致用。 2、办公自动化OA系统。这是一个典型的基于ASP.Net技术的OA协同办公项目,包含了权限管理、公告管理、文档管理、工作流、论坛管理、新闻模块管理、人员管理等典型的OA系统模块。 3、数据采集和邮件群发。这是一个基于多线程的邮件营销平台,核心技术包括网络爬虫、多线程、HTML解析、邮件发送、生产者消费者模式等。 注:以上三个案例,上课时会根据每个班的课堂反馈选择其中一个案例予以讲解学习。 7、如鹏网项目(9天) 查看项目演示 功能点 站内搜索、栏目管理、视频播放(完全模仿优酷视频页面)、焦点图、静态页面生成(新浪、搜狐等大型网站普遍采用的技术)、文章管理、无刷新评论、评论的无刷新分页、敏感词过滤、用户管理、友情链接管理、缓存管理、广告位管理、RSS输出、水印设置、无刷新上传图片、搜索引擎优化设置、数据备份恢复、伪静态设置、网上商城、订单管理、在线支付(支持支付宝、财付通、块钱等第三方支付平台)、网站调优(数据库优化、缓存、静态页、CSS Spirit、js压缩)。 技术点 搜索引擎技术:Lucene.Net、多线程开发、爬虫技术、网页分析、正则表达式、Log4Net日志框架、Quartz.Net定时作业调度。 大型互联网开发技术:代码生成、网页静态化、基于JQuery的Web2.0页面开发、AJAX、SEO、网站调优、采集器、RSS/XML、网站防黑(防XSS攻击、防注入漏洞攻击、防CC攻击、防挂马、防盗链、敏感词过滤、广告帖智能过滤)、IIS管理与调优、流量分析、第三方脚本嵌入(广告、统计代码、内容联盟等)、图片服务器分离。 项目说明 如鹏网项目是已经上线三年的网站,日访问量最高20000人次,网址www.rupeng.com。本系统旧版本基于PHP、J2EE技术,由如鹏网开发者亲手操刀用.net重写新版本。系统分为前台Web界面、后台管理界面、站内搜索、监控客户端四个子系统。 大型互联网站由于访问量非常大,因此不是那些单纯用ASP.Net控件拖拽开发的开发人员能够开发的,也不是闭门造车能够造出来的,必须是在实际项目中经过无数访问者的使用、反馈、修改才能做出来的。搜房网、汽车之家等大型网站中用到的网站静态化、图片服务器分离、高性能缓存、HTML/JS压缩、CDN、CSS Sprite、负载均衡、Memcached、镜像服务器同步等问题不是那些随手写出来的所谓在线商城、电子商务系统所所能够涉及到的。 这个项目完全按照高访问量互联网站进行设计,通过这个项目,学员不仅可以在实战中巩固对前面学习的ASP.Net、ADO.NetWinForm等知识的掌握,还可以掌握网站防黑、缓存、SEO、静态化、搜索引擎技术、AJAX等大型互联网开发中涉及到的技术。 8、.Net新技术(Windows Phone、ASP.Net MVC)(6天) 项目说明 未来是移动互联网的时代,未来将是Windows Phone、Android、iphone三足鼎立的时代,掌握了移动开发的技能的人是就业市场的抢手货。微软推出的Windows Phone平台是微软在移动互联网时代的一个重量级产品,微软对于WindowsPhone7的推广力度非常大,因此很多公司也开始进行Windows Phone7产品的研发,2011年下半年Windows Phone7开发人员的需求将会出现井喷,为了帮助学员掌握移动3G开发技术,传智播客.Net班加入了Windows Phone开发课程,采用传智播客独创的WP7Simulator教学平台,学员可以做出一个基于云计算架构的LBS系统。点击查看传智播客独创WP7Simulator教学平台。 ASP.Net MVC是微软推出的区别于ASP.Net WebForm的Web开发新技术,由于ASP.Net MVC解决了ASP.Net WebForm的很多缺点,非常适合大型、中型项目的开发,一经推出就受到了.Net开发社区的追捧,很多.Net开发人员的职位要求中都提到了MVC,可见掌握ASP.Net MVC技术必将提升自己就业的砝码。 9、就业指导(2天) 项目说明 总结以往所学知识,讲解《传智播客.Net面试、笔试宝典》,介绍简历、笔试、面试等所需的知识和技巧。
Unity 对接网狐服务器 ——波波 网狐的棋牌服务器非常稳定,代码质量高,最重要的是开源。阅 读网狐的代码,自我感觉技术提高不少,真心感谢网狐! 网狐的 PC 客户端的代码,和服务器代码同出一辙,优秀稳定, 功能齐全。唯独移动平台的客户端的研发稍微有点落后。前几年,网 狐为 Android和 iPhone两个移动平台分别开发了大厅, 弊端显而易见, 一个游戏就会同时配有三个不同平台的客户端,也就是说,需要使用 三种编程语言来实现客户端才能满足市场的需求。 这三种语言分别是 C++,java,object-C。开发难度之大,可而知。 2016 年 2 月,网狐终于推出了 cocos2d 的客户端,而在网狐推出 cocos 客户端之前,不少公司已经做到使用 cocos 客户端来对接网狐 的服务器了。然而,使用 unity 对接网狐服务器这个解决方案,网狐 迟迟还没有给出。下面简单介绍一下 unity 对接网狐服务器的解决方 案。 对接成功,需要看懂网狐的服务器代码。网狐的代码其实并不 难, 工作经验超过一年的 C++程序员应该都可以看懂的。 网狐的 6603 版和经典版服务器, 上层的功能较多, 理清代码逻辑, 需要点时间。 建议从网狐 6601 版服务器看起。 只需要看懂下面 9 个项目工程就 OK。 编译代码的先后顺序:公共服务,网络服务,列表服务,内核引 擎,游戏服务,中心服务器,登录服务器,服务装载器。 共享组件是客户端和服务端公用的工程。其中公共服务项目会被 内核引擎使用到,编译顺序需要优先;网络服务会被登录服务器和游 戏服务使用到,编译顺序需要优先。 编译整个解决方案后,会生成三个可执行文件和多个 DLL。三个 可 执 行 文 件 分 别 是 中 心 服 务 器 CenterServer.exe , 登 录 服 务 器 LogonServer.exe,服务装载器 ServiceLoader.exe。优先启动中心服务 器,再接着启动登录服务器和服务器装载器。 下面说说这三者之间的关系: 中心服务器:是登录服务器和所有游戏服务器的服务器,也就是 说, 在服务器层面上, 登录服务器和游戏服务器的角色是一个客户端。 中心服务器启动后,各个游戏服务器再启动。这个过程中,游戏 服务器要向中心服务器进行房间注册。然后,启动登录服务器。登录 服务器会定时地向中心服务器请求游戏房间的列表。 登录服务器:对应的客户端的大厅,大厅登录后,除了会获得当 前玩家的个人信息,还会获得游戏列表等多种信息。 游戏服务器:对应着具体的游戏客户端。由服务器装载器启动, 也就是由服务器装载器来启动各个游戏服务器项目编译出来的 DLL。 上面说法,仅仅针对网狐棋牌 6601 版本,事实上,网狐 6603 版 本在服务器结构设计上已经做了较大幅度的改动。但能看懂 6601 代 码的,也会看得懂 6603 代码,因为服务器的内核几乎没有变化,主 体架构不变。 下面开始介绍 unity 客户端。为了缩短开发示例时间,就采用 .netWinForm 来做界面。代码可以直接移植到 unity。不解释。示例是 五子棋游戏。 在介绍示例前,先说说网狐的加解密方法和数据传输的协议。这 两个是难点,你能看得懂网狐的 C++版加解密方法和数据传输的协 议,并且能用其他一门语言翻译出来,就说明你的编程功底已经很不 错的,这篇漏文就不用看了,谢谢。 网狐加解密方法,是自研的。过程环环相扣,加密后的数据分析 难度大,解密难度也大。因为上一次发送的数据会作为下一次加密数 据的密钥。而上一次解密出来的数据又会作为下一次机密数据的密 钥。 就连第一次的加密密钥都是随机产生的。 应该不少公司采用 MD5 加密方法来加密数据。MD5 加密的数据是不可逆的,代价也很大。 一是 MD5 准确来说是签名,发送的数据被拦截后,整个数据包的内 容都可以分析,甚至可以换掉签名。二是,看看 MD5 的 C++实现, 就明白一次 MD5 加密会耗费多少服务器的 CPU。客户端的数据源源 不断,服务器要耗费多少时间在 MD5 加密验证上? 采用映射表和异或方法两层加密。映射方法,翻译简单。异或加 密方法,相对较难。 我用两个类来分别实现这两种加密方法。 这个过程其实并不简单。 具体看我的代码,不一一说。 接着是数据传输的协议,必须和服务器一样,才能传递正确的数 据。 难点在发送数据时,怎么组装一个命令的,并且为这个命令加密。 不一一说,具体看代码。 接下来,是大厅的介绍。 大厅要实现的功能不少,主要有注册登录获取个人信息,获取游 戏列表。其他功能,实现起来相对简单。 对应的是客户端工程的这部分代码。 再接着,是房间的功能介绍。主要包括:系统消息,公聊消息, 私聊消息,消息推送,银行操作,鲜花道具等

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧