basic flows to make a plugin

What’s the basic flows of making a plugin?

A plugin is just a custom made module.
The most basic steps are to just create a class interface which generates and implements the new module then a Build.cs file that tells UBT to include the new module in the project/editor.

Some believe you have to have modules, folders, class name and interface all the same name of the plugin; but that is actually a myth.
I am working on a plugin with 11 Modules, for now, including an external loaded one. I could share some details…
But your question is, well… vague.

Well,sorry.For example,I want to make a plugin to implement a socket.I know the c++ code needed to implement socket.
However,I don not know how to make it a plugin so it can be used in the unreal engine.I have no idea where to start.