issue:
step 1: start the server
step 2: stop the server
step 3: start the same server.
it will fail.
it seems like the stop func does not set acceptScoket to nil so it will failed to start again.
public func start() throws {
guard acceptSocket == nil else {
logger.error("Server already started")
return
}