能力值:
( LV1,RANK:0 )
|
-
-
2 楼
这个问题我懂,使用内存映射,这样两份同时访问都不冲突。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
客户端报的什么异常?
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
如果只是掉线 我并不认为是内存访问异常,内存异常应该是游戏直接崩溃,而不是掉线。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
祝你好运~
这个问题我懂,使用内存映射,这样两份同时访问都不冲突。
。。你可能是说 COPY一份到另外的物理内存里,映射,访问,相当于访问另外的物理内存里,就没有直接访问进程 原生资源 那块物理内存。。额。。我不会弄。。而且COPY本身也在访问那块内存,也可能触发异常
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
就只是掉线,客户端没有崩溃过。。。我去跟过执行流,往前回溯是 消息循环收到一个消息,然后让客户端掉线,弹出掉线弹窗。。。好像跟了没啥用。。 这个掉线时间非常不固定,有时候几分钟掉,有时候几个小时掉,有时候隔1天才掉。。。 有可能是什么问题?
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
WYYZCAYQ
就只是掉线,客户端没有崩溃过。。。我去跟过执行流,往前回溯是 消息循环收到一个消息,然后让客户端掉线,弹出掉线弹窗。。。好像跟了没啥用。。
这个掉线时间非常不固定,有时候几分钟掉,有时候几个小时掉, ...
应该不是线程访问内存冲突,不然游戏直接崩溃了。应该是你丢东西太快了,服务器可能有检测你发包的速度。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
DLL绑定主线程就行了
|
能力值:
( LV1,RANK:0 )
|
-
-
9 楼
加个锁不就行了吗?
|
能力值:
( LV3,RANK:30 )
|
-
-
10 楼
只是读内存的话是不会冲突的,除非你进行了写的操作那确实有概率,所以你应该把写的操作以及调用CALL的操作放到游戏主线程里进行操作,至于怎么绑定主线程方法有很多,开启一个时钟,或者消息钩子,或者更改游戏的窗口过程
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
麻里麻里红
应该不是线程访问内存冲突,不然游戏直接崩溃了。应该是你丢东西太快了,服务器可能有检测你发包的速度。
谢谢帮助。
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
大鲤鱼
DLL绑定主线程就行了
嗯。我用WINDOWS API 在消息处理函数前,加了个钩子过滤函数,完成主线程调用CALL。
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
喜欢做外挂
加个锁不就行了吗?
锁的机制 ,我不太了解。而且我是注入后,开启的线程,它进程原生的那些锁资源,我不知道能不能直接用。。主要是我不会用锁。。
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
千音丶
只是读内存的话是不会冲突的,除非你进行了写的操作那确实有概率,所以你应该把写的操作以及调用CALL的操作放到游戏主线程里进行操作,至于怎么绑定主线程方法有很多,开启一个时钟,或者消息钩子,或者更改游戏 ...
我用WINDOWS API弄了个消息钩子,过滤处理自己的消息,来完成主线程调用CALL。暂时运行正常,还在测试。。。 反正觉得很奇怪,我调用那个游戏自己的CALL怎么会触发问题,然后掉线了。。 会不会有可能,游戏主线程调用那个CALL,会写入某块内存A,我这边也调用那个CALL,CALL内部指令也会写入那块内存A,然后就出问题了。。不太清楚这些。。
|
|
|