Giter Club home page Giter Club logo

Comments (11)

Allenxuxu avatar Allenxuxu commented on May 25, 2024

image

应该不会有问题, 你多 debug 一下。

如果还有问题,发下完整源码,我运行看看。

类型断言 最好采用这种方式:

value, ok := a.(string)

from gev.

defsky avatar defsky commented on May 25, 2024

这种类型的连接和断开也运行了至少上百次了 ,也才遇到这一次panic,从这个业务代码上看起来明明是设置了context的,怎么取出来就是空的呢
刚刚我又看了一下,正常情况下 OnConnect的时候会执行

c.Send([]byte("fvpvTbKVC\\WnpqQvh_xdY\\\\"))

但是崩溃的这次看起来还没来得急执行OnConnect回调里面的Send这串数据,就执行OnClose回调函数关闭连接了

下面这个是正常情况的日志

[Realm]2019/12/12 20:12:37 Listening at *:7000
[World]2019/12/12 20:12:37 Listening at *:7400
[Realm]2019/12/12 20:13:03 New Connection from: 192.168.1.201:12132
[Core ]2019/12/12 20:13:03 Send: fvpvTbKVC\WnpqQvh_xdY\\
[Realm]2019/12/12 20:13:03 Connection closed from: 192.168.1.201:12132

这里是protocol里面的Packet函数

func (p *Protocol) Packet(c *connection.Connection, data []byte) []byte {
	log.Core.Printf("Send: %s", string(data))

	return data
}

from gev.

Allenxuxu avatar Allenxuxu commented on May 25, 2024

gev/server.go

Line 102 in a71b547

s.callback.OnConnect(c)

我大概猜测到原因,执行 onConnect 时机的问题,onConnect 是在加入 epoll 之后执行,并且不是在 IO 线程执行。
可能是 刚好加入 epoll 后,在 onConnect 回调之前,客户端断开了链接,IO 线程就直接调用了 onClose 回调。

from gev.

Allenxuxu avatar Allenxuxu commented on May 25, 2024

9d9d1c0

fix

from gev.

defsky avatar defsky commented on May 25, 2024

好的 3q 那我继续玩

from gev.

Allenxuxu avatar Allenxuxu commented on May 25, 2024

好的 3q 那我继续玩

😄好的,感谢报 bug

from gev.

defsky avatar defsky commented on May 25, 2024

好的 3q 那我继续玩

好的,感谢报 bug

怎么更新不了呢? 是不是需要你这边怎么发布一下?

from gev.

Allenxuxu avatar Allenxuxu commented on May 25, 2024

好的 3q 那我继续玩

好的,感谢报 bug

怎么更新不了呢? 是不是需要你这边怎么发布一下?

发布了
https://github.com/Allenxuxu/gev/releases/tag/v0.1.5

from gev.

Allenxuxu avatar Allenxuxu commented on May 25, 2024

老哥,拉这个最新的试下:
https://github.com/Allenxuxu/gev/releases/tag/v0.1.8

from gev.

defsky avatar defsky commented on May 25, 2024

老哥,拉这个最新的试下:
https://github.com/Allenxuxu/gev/releases/tag/v0.1.8

好像没啥问题了

from gev.

Allenxuxu avatar Allenxuxu commented on May 25, 2024

老哥,拉这个最新的试下:
https://github.com/Allenxuxu/gev/releases/tag/v0.1.8

好像没啥问题了

😄好。
感谢老哥帮忙测试!

from gev.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.