labaz 发表于 2014-2-27 15:14:36

2、当fullme经常超时的情况, 建议将 MUSHclient所在目录下的\socket\http. lua文件中的 TIMEOUT = 60 改为 TIMEOUT = 3

原来发布的帖子里有这个建议,也就是3秒*10次尝试。
要不极端点,超时1秒只试1次,超时失败的话框还是跳出来,框里显示个提示的失败图片,可以用刷新按钮再手动刷,还是1秒超时*1次。

uniboee 发表于 2014-2-27 15:18:17

本帖最后由 uniboee 于 2014-2-27 03:23 PM 编辑

回复 10# pizzagoo

非阻塞式的socket是立刻返回的,读写有没有成功,需要一个loop来不断地对这个socket进行测试。

你的意思是用DoAfterSpecial()来模拟这个不断对socket进行测试的 loop ?

但lua要求协程的调度,需要在创建者和被创建者之间进行,DoAfterSpecial()可是mushclient客户端提供的世界命令,和lua无关啊。

pizzagoo 发表于 2014-2-27 15:21:38

回复 11# labaz

我看到那个timeout了,参照如下代码,意思应该是网络超时过长时,就挂起,但是不明白这个status是如何获得为timeout的:
    function receive (connection)
      connection:timeout(0)   -- do not block
      local s, status = connection:receive(2^10)
      if status == "timeout" then
      coroutine.yield(connection)
      end
      return s, status
    end

pizzagoo 发表于 2014-2-27 15:26:30

回复 12# uniboee

看了一下论坛,原来lz也是mush大牛啊,chat* admire
对,我的想法就是这样
function check_fullme()
      判断标记,若未完成
       resume socket
      DoAfterSpecial(1000,"check_fullme",12)
end
lz看可行不?

uniboee 发表于 2014-2-27 15:31:20

回复 14# pizzagoo

我先试试labaz说的方法可不可行。

labaz 发表于 2014-2-27 15:33:41

本帖最后由 labaz 于 2014-2-27 03:35 PM 编辑

回复 11# labaz

还有就是可以建议jason增加直接给出图片链接路径,以减少客户端和web服务器的交互次数,在网络不稳定时估计能间接提高fullme图片显示成功率

pizzagoo 发表于 2014-2-27 16:10:48

建议Jason取消fullme{:7_278:}
页: 1 [2]
查看完整版本: 不会卡住 mushclient 客户端的 fullme 插件