[文章作者:张宴 本文版本:v1.0 最后修改:2011.06.28 转载请注明原文链接:http://blog.zyan.cc/windows_mstsc/]

  个人不喜欢服务端程序,以 Windows 操作系统作为运行平台,但是,很多时候,迫于环境现状,需要让自己的程序实现跨平台。

  在开发全新的金山游戏运营平台时,发现:虽然大部分游戏,服务端程序运行在 Linux 服务器,但是,仍有例外。几款最近代理的游戏,服务端运行在 Windows 服务器上。西山居开发的游戏,服务端集群架构,既有 Windows 服务器,又有 Linux 服务器。

  点击在新窗口中浏览此图片


  游戏运行系统的 Knose 程序,我最初是在 Linux 下开发的,后来才实现了兼容 Windows 的跨平台版本。

  点击在新窗口中浏览此图片


  在 Linux 下,Knose 为“父子进程+指令处理线程池+独立功能多线程”结构;在 Windows 上,将 Knose 父子进程结构,拆分成了 knose_daemon.exe(Service 服务程序)和 knose.exe(主程序),由 knose_daemon.exe 启动 knose.exe。

  点击在新窗口中浏览此图片


  遇到了问题:按照运营维护需求,knose.exe 以及通过它启动的游戏服务端进程,需要有“窗口界面”,显示在桌面中。而 knose_daemon.exe 是以服务方式运行的,无窗口界面,knose_daemon.exe 启动的 knose.exe,窗口界面没有弹出来。

  为了解决这个问题,我在 install.bat 中,用了 Windows 的 sc 命令,将 knose_daemon.exe 启动为系统服务,“type= interact type= own”设置了“允许桌面与服务交互”。在本机(Windows XP SP3)测试,knose.exe 的窗口界面以及通过它启动的游戏进程窗口界面,都弹出来了。

@echo off
sc create "KingeyesKnose" binPath= "%CD%\knose_daemon.exe" DisplayName= "Kingeyes Knose Daemon" start= auto type= interact type= own
sc description KingeyesKnose "金山游戏运营系统 KingEyes Knose 守护进程。"
sc start KingeyesKnose


  点击在新窗口中浏览此图片


  于是将程序发布到 Windows Server 2003 服务器上,远程桌面连接上去,发现 knose.exe 的窗口界面始终弹不出来。

  后来,同事发现,原来是“远程桌面”惹的祸:

  远程桌面客户端 mstsc 有一个 /console 参数,模式等同于本地终端显示器登录,/console 不会去占用非 /console 远程桌面,远程桌面允许两个正常连接和一个控制台/console方式连接,并且正常连接和 /console 连接的桌面操作不能相互看见,只有通过 /console 参数远程桌面连接到 Windows 2003 服务器,才能够看到弹出的 knose.exe 窗口界面。

  在 Windows XP SP3 以上版本,/console 参数改名为 /admin,需要用 mstsc /admin 启动远程桌面:

  点击在新窗口中浏览此图片

  连上后,终于能够看到由 knose_daemon.exe 启动的 knose.exe 程序窗口,以及由 knose.exe 启动的游戏服务端进程窗口了。


技术大类 » Windows相关 | 评论(65) | 引用(0) | 阅读(41728)
~~ Homepage
2011-6-28 17:47
碰见过类似的问题,呵呵
mstsc -admin也一样
ayanamist
2011-6-28 19:29
你这样做,在Win2008以上,是不行的,那个GUI界面还是弹不出来,更通用的办法,应该是像VMWare Tools那样,在每个用户登录后启动一个程序,然后让这个GUI程序与服务互动。
waydee
2011-6-29 09:00
HI,一直关注张老师的博客,关于游戏和网站的知识学到了很多,目前游戏等应用很多公司都是虚拟化的,不知道张老师能否在这方面也分享些知识哈~~grin
房产税如何征收 Email Homepage
2011-6-29 12:58
看不懂啊!~
samshuai Email Homepage
2011-6-30 10:36
不错 ..  学到了
   不过棒子真的喜欢window的服务器
新拆迁法 Email Homepage
2011-6-30 16:43
学习了...以后会经常来逛逛,学习学习
美女 Email Homepage
2011-6-30 16:57
哈哈!昨天该让技术师弄好了
季远 Email Homepage
2011-6-30 23:08
有用 收藏了~
gigilogin
2011-7-1 14:36
金山现在,才有这套系统,不知道,他们以前是咱个运营游戏的。
5
2011-7-2 15:53
cool
网页游戏排行榜 Homepage
2011-7-3 00:29
学习了,感谢博主
木木 Email Homepage
2011-7-4 15:53
gringrin这个我知道!以前也遇到过。
红酒网 Email Homepage
2011-7-6 10:49
顶一下,虽然看不懂
Timesoffer Homepage
2011-7-6 11:14
嗯,不错,受教了!!
easn Homepage
2011-7-6 11:46
嘿嘿,来偷学点东西。
光电转速表 Email Homepage
2011-7-7 10:55
来学习学习
光电转速表 Email Homepage
2011-7-7 11:01
学习下
个税税率表 Email Homepage
2011-7-7 16:50
云里雾里的说!
jingle
2011-7-9 22:05
这种情况下用VNC可能更方便
现在做什么生意好做 Email Homepage
2011-7-10 14:38
这些功能我都没有去想过,更不用说运用了
分页: 1/4 第一页 1 2 3 4 下页 最后页
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]