Going back to server side Dart
Showing port before server start
Trimmed down code to try and get server to bind to port quicker
Trying https://github.com/igrigorik/heroku-buildpack-dart/blob/master/test-app/bin/main.dart
Changed back to original making it listen to 0.0.0.0 not 127.0.0.1

The reason was staring me right in the face all along.
using 0.0.0.0 as string not InternetAddress.ANY_IP_V4
Output info text to see what ip addr and port it's listening on
Removed Router serve cmds to see if that is what causes crash

This is heroku env, as this works fine on my system.  All I can say is
WTF.
Trying the default Hello World approach
Adding piping file contents to response
Wait for pipe to finish before closing response
WTF is going on, why doesn't this work
Argh, it has to do with the opening and reading of files

How do you output static files if you can't read them from disk? You
can't.
Output directory contents to see if can work out where bin is run from
Directory done differently
Making it serve /out if on heroku else ../out

This is a temp solution, while I see if it actually works on Heroku.
I am thinking create a env var with base directory in it as a
long term solution, but this will do for now.

This is all assuming the fails on Heroku are to do with incorrect file
paths.
Forgetting that the Heroku app is not run in the root directory

File paths used were from root directory.  Assumed /out was correct,
when it actually is /app/out.  The App is run from /app, so will make
out a relative path.  Hopefully that will fix it.

The upside is I at least got a error message telling me what's going on
this time.  I wasn't before.
Changed from serving Hangouts XML file to the html file instead
Now changing actual file to be the actual html file
Trying to serve all files needed to run page currently served