2016-07-31 58 views
0

我做了一个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 }

+0

你完成了服务器端,但你需要为你希望启用的每个环境创建一个客户端应用程序,在客户端代码中不需要任何特殊的东西,它是一个标准协议,TCP或UDP,客户端语言不很重要,而且没有必要检测服务器上的客户端类型。 – Yazan

+0

更具技术性和特殊性:无论这个连接来自哪里(android,ios,javascript,php或者甚至是telnet),所有传入的连接都将被接收为使用你的服务器套接字,在'socket.accept()'行。 ..) – Yazan

+0

@Yazan,听起来很简单。我会尝试。谢谢。 – Caleb

回答

1

你几乎是那里的老兄,你愿意有可以从android,IOS,桌面应用程序和网络浏览器操作的聊天应用程序,所以你说你已经完成了基于桌面的JAVA套接字服务器程序目前,正如你所说,你正在使用RAW套接字编程,这是好的移动&桌面应用程序,但Web应用程序呢?在这种情况下是不可能的。

所以为了做到这一点对所有可能可用的小工具的今天,包括智能手机,智能手表,使用Web浏览器和桌面应用程序,以及你必须使用WebSockets的,

的WebSocket是协议通过单个TCP连接提供全双工通信信道 。 WebSocket协议在2011年由IETF标准化为 ,作为RFC 6455,Web IDL中的WebSocket API由W3C标准化为 。

您可以了解一点的WebSockets从这里:

websocket.org

socket.io

所以这里来的WebSockets的概念,利用它可以实现 你几乎什么应该做的。所以,你可以做几件事情出来 下面来实现这一目标:

  1. 您可以修改现有的Java程序来处理WebSocket连接,而不是处理RAW插槽,你正在做的事情。

  2. 另一种可能性,你可以写你的服务器WS(网页套接字)程序Python或Node.js的,这就好比herokuopenshift甚至AWS远易于开发,和主机上的任何免费入场券云服务。

所以,在这种情况下,一旦你创建/修改现有服务器 程序WS,所有你需要做的是在任一或所有下面的创建客户端 程序:

  1. IOS应用
  2. 的Android APP
  3. 桌面应用程序(在.NET或JAVA或Python)P中
  4. 网站HP或Python(使用JavaScript WS客户端库)

,你可以在任何或所有的上述平台上的客户端程序,在WS客户端库几乎可用于所有上面提到的平台的的。

因此,一旦您使用Sever端,您可以在openshift上托管您的服务器端程序,该服务器端程序可以免费使用PaSS云服务,远远优于今天剩余的PaSS服务。

+0

谢谢,关于WS的好点。 – Caleb

相关问题