You tested your code using 2 PCs in your lan and both could see the characters. And then you tested it over the internet (exactly the same versions) and your friend couldn't see the characters?
Are you sure that your friend could connect to your server (the connected event was called on the server and the clientid of your friends PC was greater -1)? Additionally you should check if you are really using exaclty the same version you tested in the lan and if client and server are running the same application (it's not allowed that client and server are different applications, only when setting anet_use_handles(0); (with all the disadvantages)).
ANet - A stable and secure network plugin with multi-zone, unlimited players, voip, server-list features,... (for A7/A8)!
get free version