JohannesDeml / NetworkBenchmarkDotNet

Low-level dotnet network benchmark for UDP socket performance (.NET and Unity compatible)
MIT License
84 stars 11 forks source link

Is it possible to add SuperSocket to the comparison? #19

Closed pedoc closed 1 year ago

pedoc commented 1 year ago

thanks for the great work

repo: https://github.com/kerryjiang/SuperSocket

JohannesDeml commented 1 year ago

Hi @pedoc,

thanks for the request. Never heared of SuperSocket, but it seems to be a popular solution. However, from what I can tell at first glance, the UDP implementation does not seem to be that popular. In the benchmark I'm only focusing on UDP communication, since that will have (in general) a lot less latency than TCP - Does supersocket provide a custom protocol on top of UDP to support reliable UDP? If so, do you already have experince with Supersocket and would like to do the implementation for the benchmark? I can help you with guidance if the information in the readme is not sufficient :)

pedoc commented 1 year ago

oes supersocket provide a custom protocol on top of UDP to support reliable UDP?

I believe this is possible, but SuperSocket doesn't have such support built in, it's just there to simplify Socket programming, and to simplify support for various network protocols.

If the current repo only considers tests on reliable UDP, then SuperSocket doesn't fit the bill.

I have used both SuperSocket and NetCoreServer libraries, but have not compared their performance. At the same time, when I saw your repo, I found that the performance of NetCoreServer is poor. So I also want to see the comparison with SuperSocket.

Generally speaking, both SuperSocket and NetCoreServer are just encapsulation and enhancement of existing Socket, and do not provide any custom protocol enhancement capabilities.

I can help you with guidance if the information in the readme is not sufficient :)

Thanks for your advice and patience, I will learn 😄

JohannesDeml commented 1 year ago

Generally speaking, both SuperSocket and NetCoreServer are just encapsulation and enhancement of existing Socket, and do not provide any custom protocol enhancement capabilities.

Yeah, that is true, NetCoreServer also does not support any rUDP, I wanted to add a base line to what a very thin layer library can do. But as you said, probably another one does not make too much sense. :+1: