Git Product home page Git Product logo

Comments (30)

panjf2000 avatar panjf2000 commented on May 22, 2024 6

The development of the client for gnet has already started, coming soon.

The first stable version will be released within the next two months.

from gnet.

panjf2000 avatar panjf2000 commented on May 22, 2024 2

I am focusing on the gnet implementation in server-side currently, so the delivery of client-side might be later.

from gnet.

amwfhv avatar amwfhv commented on May 22, 2024 2

希望快点开展client的支持,实际应用中会需要多个服务器协同工作,这时候就需要有Server和Client,我在改造的时候也遇到了相同的问题

from gnet.

calbot avatar calbot commented on May 22, 2024 2

I wrote a basic TCP client implementation. Seems to be working so far. The basic idea was that a client works pretty much like a server except it doesn't have a listen address. So I pretty much just added a second set of methods for setting up the Client event loop under the Server object (now the name doesn't make sense). Then there is an additional registration step of TCP connections (rather than connections being registered from the listener socket on the server). So you can use the standard golang TCPConn to dial and get the file descriptor from it and then register it to start monitoring for events. This is more of a starting point if anyone is interested.

calbot@0a400d1

EDIT...
Updated so that it uses syscalls instead of net.TCPconn like gnet already does. That fixes disconnect issues.
calbot@b6c453e

from gnet.

zyc801208 avatar zyc801208 commented on May 22, 2024 1

Focus on this issue progress...

from gnet.

icc99 avatar icc99 commented on May 22, 2024

How does it go?

from gnet.

panjf2000 avatar panjf2000 commented on May 22, 2024

I plan to start it after a stable server version of gnet is released but gnet server is still under active development, so the implementation of the gnet client won't be delivered in the near future.

from gnet.

cocotyty avatar cocotyty commented on May 22, 2024

有进展吗?

from gnet.

panjf2000 avatar panjf2000 commented on May 22, 2024

暂时还没开始。

from gnet.

jingc1413 avatar jingc1413 commented on May 22, 2024

+1

from gnet.

da-tai avatar da-tai commented on May 22, 2024

+1

from gnet.

Ice3man543 avatar Ice3man543 commented on May 22, 2024

@panjf2000 i am also really interested in the client implementation and it's accompanying performance improvements compared to standard net package. If you could provide some references/guidelines regarding client implementation, i can try and make a PR!

from gnet.

panjf2000 avatar panjf2000 commented on May 22, 2024

@ALL
Sorry, I've been so stuck with work stuff lately that I don't have time for this in the near future!
So it would be great if someone is willing to devote to the development of gnet client!

@panjf2000 i am also really interested in the client implementation and it's accompanying performance improvements compared to standard net package. If you could provide some references/guidelines regarding client implementation, i can try and make a PR!

Maybe you can refer to the implementation of netty client? After all, I drew on many ideas from netty when I was developing the server framework of gnet. Thank you in advance. @Ice3man543

from gnet.

ivanjaros avatar ivanjaros commented on May 22, 2024

+1 for client for sure

from gnet.

calbot avatar calbot commented on May 22, 2024

@lesismal I believe the standard golang TCP library uses events internally except it is serialized to a single goroutine from the API perspective. If you want to load test a server it's very nice to event/non-blocking IO client otherwise you'll quickly run out of memory for all the goroutines. If you want to test thousands or millions of client connections you're going to want to use non-blocking IO/events.

from gnet.

calbot avatar calbot commented on May 22, 2024

Thanks @lesismal. I already ran my test using the my fork I mentioned above but I starred your repo for next time 😃

from gnet.

jmjyw avatar jmjyw commented on May 22, 2024

有规划了吗?

from gnet.

Nyx2022 avatar Nyx2022 commented on May 22, 2024

The development of the client for gnet has already started, coming soon.

The first stable version will be released within the next two months.

期待client的发布,希望功能全面、性能强劲
距离7.20已经1个月了,能透露一下计划是在什么时候发布吗,client支持Windows吗

from gnet.

ramseyxu avatar ramseyxu commented on May 22, 2024

I was wandering ,if Client will be released in September?

from gnet.

panjf2000 avatar panjf2000 commented on May 22, 2024

I was wandering ,if Client will be released in September?

Yes.

from gnet.

liujiangang01 avatar liujiangang01 commented on May 22, 2024

请问,现在研发进展符合当初预期吗,9月底能否出个可交互版?

from gnet.

panjf2000 avatar panjf2000 commented on May 22, 2024

目前计划还是这个月底发布 v0.1.0 版本

from gnet.

ramseyxu avatar ramseyxu commented on May 22, 2024

Will you release the gnet client in this month?

from gnet.

panjf2000 avatar panjf2000 commented on May 22, 2024

Sorry for the delay, actually the code of the client has been done, but it's still not fully tested, I've been stuck in my daytime job lately.

from gnet.

liupeidong0620 avatar liupeidong0620 commented on May 22, 2024

咨询下client release版本有发布预计日期吗?

from gnet.

panjf2000 avatar panjf2000 commented on May 22, 2024

I've been stuck with the daytime job and other personal affairs for a really long time.

Therefore, I can't make a guarantee for the release date of gnet client, I expect to have time to work on it by the end of the month and release the first version in December.

from gnet.

helios741 avatar helios741 commented on May 22, 2024

如果client还是用net.Dial的话,这就又让runtime去接管epoll了,runtime.netpoll的优先级又比较低,在P繁忙的情况下会有十几ms的延迟。

from gnet.

panjf2000 avatar panjf2000 commented on May 22, 2024

gnet leverages net.Dial() to get a reliable client socket and then duplicate its underlying fd by dup(), finally call net.Conn.Close() which will remove the original fd from the netpoll of Golang and close it, by then the original fd will have no impact on Go netpoll.

from gnet.

liujiangang01 avatar liujiangang01 commented on May 22, 2024

gnet的优势是利用底层网络特性,避免net库的沉重包袱,client为啥要用net.dial还是同步阻塞的呢?用系统调用级非阻塞connect, epoll托管连接状态,基于状态机驱动,比同步阻塞connect效率会高不少吧

from gnet.

Nyx2022 avatar Nyx2022 commented on May 22, 2024

hello,Client什么时候支持Windows环境呢?

from gnet.

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.