是否可以强制PHP中的Web应用程序与Java中的桌面应用程序一起使用?
我做了一个Java网络聊天,它使用套接字完美工作。 有一个主服务器,来自世界各地的多个客户端可以使用其IP地址和端口号连接到该服务器。之后,你可以发送一个信息,每个连接的人都能看到它。是否可以强制PHP中的Web应用程序与Java中的桌面应用程序一起使用?
的问题是:
我想用这个聊天不仅可以作为桌面程序,还可以作为一个移动应用程序或网站。
这是可能使一个网站,让我们说,PHP或Python,使它可以连接到我的Java服务器使用相同的参数,做主桌面应用程序,但从浏览器或案件一个android/ios应用程序,使用移动设备,或者我需要制作一个主服务器,以便它可以处理来自任何特定平台的请求,例如:
if (webapp) { //handling a web request here } elseif (android) { //handing androind request here } elseif (ios) { //ios goes here } else { //main desktop request }
?
你几乎是那里的老兄,你愿意有可以从android,IOS,桌面应用程序和网络浏览器操作的聊天应用程序,所以你说你已经完成了基于桌面的JAVA套接字服务器程序目前,正如你所说,你正在使用RAW套接字编程,这是好的移动&桌面应用程序,但Web应用程序呢?在这种情况下是不可能的。
所以为了做到这一点对所有可能可用的小工具的今天,包括智能手机,智能手表,使用Web浏览器和桌面应用程序,以及你必须使用WebSockets的,
的WebSocket是协议通过单个TCP连接提供全双工通信信道 。 WebSocket协议在2011年由IETF标准化为 ,作为RFC 6455,Web IDL中的WebSocket API由W3C标准化为 。
您可以了解一点的WebSockets从这里:
所以这里来的WebSockets的概念,利用它可以实现 你几乎什么应该做的。所以,你可以做几件事情出来 下面来实现这一目标:
您可以修改现有的Java程序来处理WebSocket连接,而不是处理RAW插槽,你正在做的事情。
另一种可能性,你可以写你的服务器WS(网页套接字)程序Python或Node.js的,这就好比heroku,openshift甚至AWS远易于开发,和主机上的任何免费入场券云服务。
所以,在这种情况下,一旦你创建/修改现有服务器 程序WS,所有你需要做的是在任一或所有下面的创建客户端 程序:
- IOS应用
- 的Android APP
- 桌面应用程序(在.NET或JAVA或Python)P中
- 网站HP或Python(使用JavaScript WS客户端库)
,你可以在任何或所有的上述平台上的客户端程序,在WS客户端库几乎可用于所有上面提到的平台的的。
因此,一旦您使用Sever端,您可以在openshift上托管您的服务器端程序,该服务器端程序可以免费使用PaSS云服务,远远优于今天剩余的PaSS服务。
谢谢,关于WS的好点。 – Caleb
你完成了服务器端,但你需要为你希望启用的每个环境创建一个客户端应用程序,在客户端代码中不需要任何特殊的东西,它是一个标准协议,TCP或UDP,客户端语言不很重要,而且没有必要检测服务器上的客户端类型。 – Yazan
更具技术性和特殊性:无论这个连接来自哪里(android,ios,javascript,php或者甚至是telnet),所有传入的连接都将被接收为使用你的服务器套接字,在'socket.accept()'行。 ..) – Yazan
@Yazan,听起来很简单。我会尝试。谢谢。 – Caleb