Hey,
When running the code generator server, I'll get the following exception when attempting to generate from within Unity after a while or after I've had the computer go to sleep.
Unhandled Exception: System.Net.Sockets.SocketException: An established connection was aborted by the software in your host machine
at System.Net.Sockets.Socket.BeginReceive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags, AsyncCallback callback, Object state)
at Fabl.Appenders.AbstractTcpSocket.receive(ReceiveVO receiveVO)
at Fabl.Appenders.AbstractTcpSocket.onReceived(IAsyncResult ar)
at System.Net.LazyAsyncResult.Complete(IntPtr userToken)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Net.ContextAwareResult.Complete(IntPtr userToken)
at System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object result, IntPtr userToken)
at System.Net.Sockets.BaseOverlappedAsyncResult.CompletionPortCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)
Also, is this accepting connections from all addresses?
Ok, that's weird. I was able to reproduce only on windows. Fabl.Appenders.AbstractTcpSocket is in use for years already (probably mac only) so I'm surprised. Afaik I have disconnects by remote. I'll have to investigate on windows.
If anyone can spot the error I'd be happy to get some feedback.
Can confirm this is happening, but I haven't put the computer to sleep. I just started the server and hit generate and the same exception was thrown
Ok, I will check all the unit tests and see if I find sth suspicious. I already found a test cleanup function that uses try catch, so probably this is why the test pass. But just a guess atm. I will keep you updated
I'm still surprised on how different things with c# and mono work on different platforms. fabl has been in use for years on macs, iOS and Android devices without any issues. Only issues on Windows... such irony
What is fabl? Is it a custom logging library?
I've tried googling it the first time it appeared in Entitas but wasn't very successful
fabl is my rebranded NLog. It's a flexible and extensible logging system that also comes with Tcp client and server to log from game consoles / mobile devices etc. It just set up an example where 2 fabl instances communicate with each other and it (as expected) works fine on mac / iOS / Android. It seems that the socket implementation differs on windows - it's really weird
... rewriting from scratch ;)
Rewrote the tcp sockets from scratch to work well on windows. Will be in the next release
https://twitter.com/s_schmid/status/936638177699344384

Fixed in 0.46.0