vb如何写网络游戏?像联众,中国游戏中心类的棋牌游戏?
请各位高手指点一下,像网络连接之类的!数据加密!
一台服务器几千人同时在线也用winsock连接吗?

解决方案 »

  1.   

    可以考虑1下:
    1:使用VB的WINSOCK控件
    2:使用WINDOWS SOCKET API
    3:使用DIRECTPLAY8
    4:使用其他控件:例如DELPHI的Indy
      

  2.   

    1  起码的图像处理技巧2  网络通讯知识(用winsock就不错)
       定义好自己的通讯协议。
       数据加密的话,随便找本加密的书,选一个不是很复杂的算法
       实现了就行了。3  游戏逻辑(游戏规则的实现)
       会玩就会实现。
      

  3.   

    楼上几位说的是实现的原理。理论上是行得通。但vb的实时性不行,一个服务器登录上千人,后果可想而知……
    并且联众绝对不是用vb开发的。
      

  4.   

    vb 是可以做类似楼主所说的软件的,关键是技巧。如果你使用的是TCP协议,尽量减少服务端的计算,将计算放在客户端,这样的方式可能支持3000人是没问题的,当然还要有足够的带宽。建议采用UDP方式,而且运用打洞技术,这样客户端也可以作为服务端,减轻服务器的压力,支持的人数也相当的大。
      

  5.   

    Iris5(), UDP穿墙打洞如何实现??能给出VB6的代码么?!
    如果可以实现穿墙打洞,那么对局数据在各个客户端实现,这样太节省服务器带宽了。虽然安全性下降(玩家作弊),但是我觉得还是值得的。节约为本啊。
    希望能在UDP穿墙打洞得到您的指教。
    如给出相关网页例子也行(VB最好,VC的不懂啊)
    现正使用DIRECTPLAY8中微软在文档中说DP8可以同时带动1000客户端左右,我倒要看是真是假.
    你有DIRECTPLAY8的穿墙打洞的例子吗?
      

  6.   

    directplay8没有打洞的例子,所以如果我写的话,只有客户端是公网INTERNET IP(非内网用户)的玩家才能“建立新游戏”。这样太不公平了呀,也显得我这人老没水平的,玩家会问我,靠,为啥我不能建立新游戏?!难道我回答说:我不会打洞。FAINT。
    DX9的VC例子里给出了NAT的例子,可是我不懂VC啊。NND。
      

  7.   

    to herosm1978(herosm1978)     我估计楼主目前还做不到各个城市都分布服务器。假设楼主目前只有一台服务器,用VB完成楼主的目的,是完全可能的。如果不追求在线人数,TCP可以解决问题。但是,服务器的压力还是有的,再加上有限的带宽。     最好使用P2P分布式运算方式,使客户端成为临时服务器,交互运算,这样就必须使用UDP的协议。打洞技术是必须的。也是唯一可行的。
      

  8.   

    http://www.somade.com/是个很专业的技术社区,去那里找找吧,或许有你要的答案~
      

  9.   

    如果你仅仅是想学习VB的网络编程,那么可以试一试。如果你想做产品那么强烈建议你放弃用VB作服务器端程序的想法。否则到了后期,连接数量增加VB撑不住的时候你还是要重新写程序的。VB不能直接进行多线程操作,只能一个事件消息一个事件消息的处理。如果事件处理比较复杂(比如说去查查数据库之类的事情)同时客户端又有大量数据并发送给服务端,那么这些数据只能排队进行处理。这时候需要大量的缓存、堆栈,崩溃的危险性就来了。如果使用多线程,那么在一个线程在等待数据库返回的时候其他的线程就可以继续处理其他的数据。但是VB做多线程一则麻烦二则不安全。
      

  10.   

    Iris5() 说的对,我一直就是这样想的,让每个客户端自己做UDP的服务器,把对局数据,CHAT数据叫客户端自己完成。这样服务器只做做连接,登陆,帐户查询之类的简单事务。不过不会打洞哇我发了1个打洞求助篇您可以看看?口香糖说的真好 受教了。不过我会用VC我早用了。只能一边干一边学哇。我的过渡目标是:先用VB6+DIRECTPLAY8;再过渡到VB6+DIRECTPLAY8+SQL;
    第二步:VC/DELPHI+WINDOWS SOCKET+SQL;
    第三步;linux平台的windows socket+my sql.
    最后一步才是最终目标。因为LINUX,MY SQL不要钱!但是现在能力不够 只好熬啊多年的媳妇熬成婆 慢慢来啊。
    我可不相信网络游戏都用SQL,那多贵啊!
      

  11.   

    TO herosm1978(herosm1978)   推荐数据库MYSQL5.0,速度快,而且支持中文分词!
      

  12.   

    老大也是LINUX迷啊。
    我也是,不过目前1窍不通,但是知道是好东西啊。
    不要钱哇口水ING....
      

  13.   

    呵呵,谢谢各位啦!小型网络对战游戏以前也做过,大型的最近恶补了一下,看样子还是不能用VB去实现了,服务器要预计5000人以上,用winsock我想绝对不行了!