Universal Windows Application UDP Port Listener

 I wanted to share the joy of the idea, the  madness of the coding , and the realization of the failure
So I play a game called EverQuest, yes the one from 1999. The newest expansion released what many are calling the Tradeskill expansion.
In 23 expansions there has  never been a release that offered player made gear that was of quality.
Now of course one needs materials to craft this new gear. There is an in game market place for selling your extra stuff to other players. Now here is the kicker, NO ONE was selling the mats or if they were the prices were so high that 1 item was around 17.99 Real life money.
There is about 13 different EQ servers that allow one to move a character back and forth from for a real life money purchase.
So I dreamed up this scheme.
Idea : I was going to offer a Software as a Service Site that allowed one to log into and it would show the current  qty and asking price of each of the needed materials for each of the servers.
I spent the first 24 hours building the framework of my  idea.
ore.report was launched in under 24 hours!
Full log in, ready to be directed to the all mighty CC processor.
Now I had to actually slow down and think.
Issues: There is no EQ API.
So in my head I said, ah no big deal, I will write a TCP listener that  will watch my network’s incoming stream  while I do a search for the materials on each server in the online market place. Of course this listener would have to log the data it sees, so I then can write a parser to extract ONLY the data I need and upload it to my site, saving me hours of manually updating a web page.
I did not know where to start to create a TCP listener.
After a few hours of research, I decided to try to use this thing called
So I starting in Java, and quickly realized that I had zero idea what  the API methods were to this DLL. So I had to get the source code.
Source code obtained no issues.
Problem 1 : it would NOT compile in  Visual Studio 17
So I installed VS 15 – No compile
So I installed VS 10 – No compile
So I installed VS 8! HOURS later I finally learned how to run this archaic thing in a windows 10 environment. I got a Successful Compile.
I now had a .LIB but I had another issue. I could not tell what the method’s did! This was all C++ code and looked about as foreign to me as  Chinese  Lots of *^ Name and stuff.
Clearly i was in over my head and loosing precious time to launch my TIME sensitive Service if i was ever going to make money on the idea.
I quickly realized that I could not create a Java app with a C++ .LIB so I went to old google for help.
I came across a github my MS that had something interesting.
So I spent the next day taking this sample and coding it into a UWP my own creation in C#
It compiled and then I learned of my first failure
The game uses UDP to send traffic to the client.
This masterpiece was useless.
I slept a short 4 hours after this set back
I reattacked the issue  the next morning finding this on google
So I spent the next few hours, because I had already learned this new UWP thing on the  last failure, coding a  new masterpiece.
Compile success!
I ran it and used TCP view to see what UDP port the game was sending too.
So I tried to attach the  Listener to my port and something amazing happened.
Network Isolation in UWP
I ran head long into something that I didnt know existed.
Network Isolationwhich means Process A can not access process B data
My program threw an error so hard that I think it flagged me at Microsoft for illegal activity!
Network Isolation Fail
You can NOT listen to a port in use by another process in windows. PERIOD
So my project came to screeching halt!

I spent the next few hours reading about this thing called

SO_REUSEADDR and SO_EXCLUSIVEADDRUSE

But I never could find it in the UWP  docs so I looked harder at the error code.
I thought I hit gold with this post
But then I released this was from 2012…. so pre net 4.0? I am guessing and we are on 4.7
The rabbit hole goes deep…. and I was unable to find anything DIRECTLY relating to this forbidden access permissions for UWP.
I tried  the magic words listed here.

I tried [SecurityCritical], [SecuritySafeCritical], [SecurityTransparent], and even the assembly page insert of AllowPartiallyTrustedCallers

But I was unable to use them with ASYNC and AWAIT  operations and found zero documentation as to why not.
So for now the project is shelved, but I now have a deeper understanding of the Windows 10 programming environment.