首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP客户端与Java服务器之间的客户端-服务器网络

PHP客户端与Java服务器之间的客户端-服务器网络
EN

Stack Overflow用户
提问于 2010-04-21 10:25:01
回答 2查看 1.3K关注 0票数 1

我有一个大学项目,已经完成了99%。它由两个部分组成:网站(PHP)和桌面(Java)。

人们在网站上有自己的账户,他们希望查询有关其账户的不同信息。他们发送短信,由桌面应用程序接收,查询网站数据库(MySQL),并相应发送回复。这部分发挥得很好。问题是,有时网站希望指示桌面应用程序将特定的SMS发送到特定的号码。显然,除了把所有的负载放到数据库服务器之外,没有别的办法了.我就是这么做的。网站把短信工作放在一个特定的表格中。Java应用程序一次又一次轮询这个表,如果它找到了一个作业,就会执行它。即使这部分工作正常,但不幸的是,我的大学不能接受像这样的投票数据库。:(

我能想到的另一种方法是使用客户机-服务器一种。我试着制作Java服务器及其PHP客户端。因此,每当发送SMS时,网站就会打开与桌面应用程序的套接字连接,并发送两个字符串(单元格#和SMS消息)。不幸的是,我不能这样做。我成功地制作了一个Java服务器,当Java客户端连接时,它工作得很好,同样,我的PHP客户机也正确地连接到一个PHP服务器,但是当我试图跨越它们时,它们开始互相憎恨……PHP没有显示错误,但是当它试图读取输入流的头部时,它会给出StreamCorruptedException。

有人能告诉我,我能尝试让PHP客户端和Java服务器一起工作吗?或者,如果可以通过另一种手段实现上述目的,如何实现?

你好,亚西尔

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-21 11:11:56

等等..。您正在使用对象流吗?根据java文档,当从对象流读取的控制信息违反内部一致性检查时,就会抛出StreamCorruptedException。我怀疑您的PHP应用程序是否发送Java认为是序列化的对象。你为什么不去低科技读读字符串呢?在过去的日子里,以下这些都对我起了作用:

代码语言:javascript
复制
       ServerSocket serverSocket = new ServerSocket(port);
       Socket clientSocket = serverSocket.accept();
       BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));

       while((inputLine = in.readLine())!=null)
      {
        //Do whatever
      }
票数 3
EN

Stack Overflow用户

发布于 2010-04-21 10:29:14

你可以试试调查Quercus。它是一个在java中运行PHP的服务器。您可以直接从PHP调用java,就好像它是本地PHP函数一样。那你就不用担心溪流了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2682038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档