互联网上的某些知名应用,使用了P2P通信技术。这种技术,可以让没有公网IP的两个用户进行直接的通信。
这是怎么实现的呢?
linux_dev_framework软件包中的p2p_server.c及p2p_client.c就是P2P通信的一个实现示例。
linux_dev_framework软件包编译后,生成的程序中,包含p2p_server.exe及p2p_client.exe两个程序。
将p2p_server.exe运行在拥有公网IP的服务器上。要没有服务器,可以花几十块钱买个云主机搞定。
有了云主机之后,在云主机上,通过如下命令启动p2p_server.。
/path/to/p2p_server.exe
然后,再找两台普通的可以上网的Linux主机,就可以实现P2P通信了
一台执行命令 /path/to/p2p_client.exe --server-ip 1.2.3.4 --from aaa --to bbb
一台执行命令 /path/to/p2p_client.exe --server-ip 1.2.3.4 --from bbb --to aaa
注意:上面的1.2.3.4需要换成p2p_server.所在主机的实际公网IP
本程序源码在linux-dev-framework源码包中。
linux-dev-framework源码包的介绍:
/crazycoder8848/article/details/22491525