学习java服务器技术,试图澄清一些事情。 有几种技术可以让Java应用程序相互通信。服务器如何将数据推送到客户端?
1)的Web服务(REST/SOAP)通过HTTP
2)简单的POST/GET使用的URLConnection在HTTP上。
3)套接字
4)RMI =套接字+对象序列+一些公用事业
5)不同的媒体服务器等RED5 = RTMP或RTMPT
所有这些技术假设有一个服务器应用和客户端应用。客户端应用程序知道服务器地址并应该是调用的发起者据我所知现在有服务器将数据推送到客户端,他只能将数据作为响应发送回客户端。如果只是他们改变他们的角色,这种情况下服务器应该知道客户端IP是可能的。
所以我想知道网络游戏是如何工作的?是否有可能在服务器和客户端之间全部打开连接和交换数据,而无需每隔1-2秒从客户端请求服务器,并且服务器不知道客户端IP。我不是在谈论彗星和其他黑客。
谢谢
另外实时网络游戏通常实际上“欺骗”了一下。每个客户端实时更新本地世界,并在从服务器进行新更新到达时重新同步共享仿真。 当你射击你的敌人时,他可能会躲开你的射击只能造成一点伤害,或者可能不会。当然这是服务器将根据来自该客户端的躲闪命令是否在拍摄之前或之后到达而公平决定......但是攻击玩家可能不会注意到所示的三维动画与能量数量之间的最终不一致减去条。 – 6502 2010-07-01 22:19:05