关于Socket通讯,不仅仅局域网内的通讯问题

我用Android编写了一个手机APP做客户端,然后用MFC编写了一个服务端。采用SOCKET通讯
已经可以在同一个局域网内实现通讯,传递信息。
但是如何实现手机连电信WIFI(或者是数据流量网络),电脑MFC服务端连校园网进行网络通讯呢,初步实现发现是手机端连MFC提示的IP是连不上的。
所以自己查了一下资料,说是需要P2P进行打洞来建立不同内网IP中间的对话,那么整个过程大概是怎么样的?校园网的机制我也不是很明白,它的洞能打么?

租个云服务,现在都挺便宜的。你所说的解决方案如果几句话能讲清楚估计你早实现了。

图片说明图片说明图片说明

实验啦,端口映射就可以啦