我的任务是为内部和外部员工编写一个Messenger程序,我实际上是这样做的。但是,我认为通过使用客户端软件从服务器保持“check-mesg”这不是一个好方法。所以我想我只是在模拟IM程序。
我想让客户端应用程序成为监听服务器,并让用户p2p在主服务器上没有“mesg-center”进行通话(除非发生脱机消息)。问题是当我在路由器后面时如何告诉外部用户(其他客户端应用程序)我的位置?
客户端计算机上的其他IM程序是否也作为服务器运行?他们如何度过难关?
提前致谢!
答案 0 :(得分:1)
连接到路由器后面的系统非常复杂,并不总是可行。使用UDP执行此操作的详细记录方法是STUN protocol(主要用于基于SIP的VoIP)。如果不可能落后于路由器,则只能使用开放网络中的服务器作为中介(某些P2P系统也会促进连接良好的对等体到这些中介)。 SIP使用TURN作为中介协议。 SIP为客户找到正确解决方案的协议是ICE。