【新手求教】关于socket外网通信

自己写的基于socket的winform服务器和Android客户端使用TCP通信。实现后像微信朋友圈的那种。
在连入同一个局域网下客户端和服务器可以实现通信,现在我想让外网的客户端也能访问服务器。
由于本人入门没多久,查了些资料,然后准备用花生壳把我连在内网的PC做服务器,连入另一个内网的手机做客户端。花生壳给了我一个域名,我添加映射后在我的PC上添加一个IIS服务,然后别人的PC已经可以访问我的那个域名了。然后我用IP138查那个域名获得了一个IP,就把它设置成客户端要绑定的IP,但是结果客户端连不上。
又百度了一下发现众说纷纭,什么NAT打洞啦,还有说做各种没听说过的测试啦。于是头昏脑胀不知到底该怎么办了。只求有木有大侠做过类似的项目的赐教一些经验心得,本人计算机网络知识少得可怜,给个学习的方向也好,感谢在先!