游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3675|回复: 4

VB错误提示:Sub过程太大。

[复制链接]

14

主题

175

帖子

175

积分

注册会员

Rank: 2

积分
175
发表于 2006-4-19 00:21:00 | 显示全部楼层 |阅读模式
今天做传奇3G服务器,出现了这个错误。唉,都是刚开始偷懒,没多写一些函数,以至于winsck的dataarrival太大。

3

主题

508

帖子

508

积分

高级会员

Rank: 4

积分
508
发表于 2006-4-19 08:29:00 | 显示全部楼层

Re:VB错误提示:Sub过程太大。

可以把一个SUB拆成几个功能。

20

主题

451

帖子

470

积分

中级会员

Rank: 3Rank: 3

积分
470
发表于 2006-4-19 17:50:00 | 显示全部楼层

Re:VB错误提示:Sub过程太大。

不知道传奇的封包结构什么样子,不过一般的网游的封包肯定有个命令代码,如果如果传奇也是这样的话,你可以把这段代码写成这样的结构:
opcode变量为命令代码
select case opcode
case 1
call ProcessXXX()
case 2
....
case 3
...
end select
这样还可以方便以后维护

20

主题

451

帖子

470

积分

中级会员

Rank: 3Rank: 3

积分
470
发表于 2006-4-19 18:36:00 | 显示全部楼层

Re:VB错误提示:Sub过程太大。

例子,我在我的mywow中这么处理的:
在收到封包后,把封包分离成opcode命令代码和主数据区,然后调用下面这个函数:
Public Function ProcessPacket(ByVal cmd As Opcode, ByVal data As Byte()) As Boolean
      Dim flag1 As Boolean
      Select Case cmd
            Case CMD_AUTH_SESSION
                  Return ProcessAuth(data)
            Case CMD_CHAR_ENUM
                  Return ProcessCharEnum(data)
            Case CMD_CHAR_CREATE
                  Return ProcessCharCreate(data)
      End Select
      Return flag1
End Function

enum Opcode
  CMD_AUTH_SESSION
  CMD_CHAR_ENUM
  CMD_CHAR_CREATE
end enum

14

主题

175

帖子

175

积分

注册会员

Rank: 2

积分
175
 楼主| 发表于 2006-4-24 22:56:00 | 显示全部楼层

Re:VB错误提示:Sub过程太大。

是啊,楼上的有道理。我正在逐步改写呢。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-24 07:04

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表