`
阅读更多

Java写的Nio Socket Server端,需要从PHP写的页面发送命令过去。

 

Java Socket Server主要代码:

 public static void main(String args[]) {
  System.out.println("Start Server.....");
  try {
   ServerSocket server = new ServerSocket(8083);
   while(true) {
    Socket client = server.accept();
    System.out.println( client.getInetAddress().toString());
    BufferedReader br = new BufferedReader(new InputStreamReader(client.getInputStream()));
    PrintWriter pw = new PrintWriter(client.getOutputStream(),true);
    String m = br.readLine();  \\因为这里调用的是readLine()方法,默认读到\n才执行完毕。所以在PHP客户端传的的值末尾加上\n。 否则代码会停在这一行不往下执行。
    System.out.println("Client Message:" + m);
    System.out.println("Client IP:" + client.getInetAddress().toString());
    pw.write("Hello, I am from Java Server");
    pw.flush();
    pw.close();
    br.close();
    client.close();
    
    
   }
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }

 

 

 

PHP页面发送请求:

 <?php
$socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP) or die('Could Not Connect To Socket');
socket_set_option($socket,SOL_SOCKET,SO_RCVTIMEO,array("sec"=>1,"usec"=>0));

$connect = socket_connect($socket,'10.50.70.195',8083);
$output = iconv("utf-8","gbk","This is From Message\n");
socket_write($socket,$output,strlen($output));

//这一行注释  $str = socket_read($socket,1024,PHP_NORMAL_READ); 如果加上PHP_NORMAL_READ, PHP 客户端读不到Server端传回的值。并且报错:[function.socket-read]: unable to read from socket [0]:。。。。
$str = socket_read($socket,1024);
echo $str;
socket_close($socket);

?>

 

 

 

 

分享到:
评论

相关推荐

    php与java通过socket通信的实现代码

    本文将深入探讨如何使用PHP和Java通过Socket通信,以及提供的示例代码。 首先,我们来看Java端的实现。Java的Socket编程通常涉及到`ServerSocket`类和`Socket`类。在给出的Java代码中,`ServerSocket`用于监听特定...

    java和php通信

    在某些情况下,我们需要在Java应用和PHP应用之间实现通信,以便于数据交换或服务调用。本篇文章将详细探讨如何通过Java的ServerSocket类来建立一个端口,并让PHP通过这个端口与Java进行交互。 首先,我们来理解一下...

    Java中基于Socket的网络编程.pdf

    本文档主要介绍了Java中基于Socket的网络编程的相关知识点,包括Socket通信的基本原理、创建Socket的基本步骤和构造方法、Java中基于Socket的简单网络编程等,同时还介绍了网站后台设计、PHP技术在网站开发中的应用...

    php调用java的代码

    总结来说,PHP调用Java代码可以通过JNI、Socket通信、LAP协议或者消息队列等多种方式实现。每种方法都有其适用场景和优缺点,开发者需要根据实际需求选择合适的技术。在实际项目中,我们还需要考虑性能、安全、可...

    基于Lucene与Socket通信的中文搜索引擎的设计与实现.pdf

    "基于Lucene与Socket通信的中文搜索引擎的设计与实现" 本文主要介绍了基于Lucene与Socket通信的中文搜索引擎的设计与实现。Lucene是一个基于Java的全文检索引擎工具包,提供了一个低耦合、与平台无关的、可进行二次...

    基于Java的PHPJava Bridge.zip

    它基于Socket通信,PHP端作为客户端发起请求,Java端作为服务器端接收并处理请求。PHP端通过Bridge发送XML格式的请求到Java应用,Java应用解析XML,执行相应的Java代码,然后将结果以XML格式返回。这种方式确保了跨...

    基于Java的实例开发源码-PHPJava Bridge.zip

    3. **PHP端调用**:在PHP端,你可以通过HTTP请求或者直接使用socket通信来调用Java服务。PHPJava Bridge提供了PHP类库,简化了这个过程。 4. **数据类型转换**:PHP和Java的数据类型不完全相同,因此在交互过程中...

    php-java.rar

    解压后的"phpjava"文件可能包含了该桥接器的安装和配置指南,以及示例代码,使得开发者能够快速搭建PHP与Java的通信环境。在实际使用中,我们需要在服务器上部署JavaBridge,并在PHP代码中引入相应的类库,然后就能...

    基于java的PHPJava Bridge.zip

    在信息技术领域,跨平台通信是不可或缺的一部分,而PHPJava Bridge正是这样一个工具,它允许PHP与Java之间进行无缝的数据交互。本文将深入探讨基于Java的PHPJava Bridge的核心概念、工作原理以及如何在实际项目中...

    视频推流调试.rar java PHP c++ 推流调试工具,socket开发

    5. **Socket开发**: Socket是网络通信的基础,它为应用程序提供了低级别的网络接口。在视频推流中,Socket用于建立客户端和服务器之间的TCP或UDP连接,实现数据的双向传输。开发者需要理解TCP/IP协议栈,掌握如何...

    PHP运用java的lucence搜索引擎

    JPC则是一种轻量级的PHP到Java的通信机制,它通过Socket通信实现PHP和Java应用的交互。 接下来,让我们详细探讨如何在PHP中集成Lucene搜索引擎: 1. **安装和配置JavaBridge**:首先,你需要在服务器上安装Java...

    PHP恳求Socket接口测试实例_.docx

    3. 防火墙配置:确保服务器的防火墙设置允许Socket通信,并限制只接受来自特定IP或端口的连接,以减少潜在的安全风险。 4. 输入数据验证:服务端应严格验证接收到的请求参数,避免因恶意输入导致的代码执行漏洞。 ...

    基于PHP的Workerman 高性能的PHP socket 服务器框架.zip

    - PHP原本主要用于HTTP协议,但在Workerman的帮助下,开发者可以通过Socket API扩展其功能,进行低级别网络通信。 - Socket是网络通信的基础,它提供了应用程序与网络协议之间的接口,允许两台计算机通过网络进行...

    script-api.jar,php-servlet.jar,php-script.jar,JavaBridge.jar

    JavaBridge.jar通过HTTP协议或Socket通信,使得两个不同的语言环境能够共享数据和服务,极大地增强了跨平台开发的灵活性。它在混合开发项目中,特别是需要利用PHP的Web服务和Java的后端计算能力时,发挥着重要作用。...

    LAJP(Linux Apache Java Php) -- PHP结合JAVA的开发技术.zip

    PHP和Java可以通过多种方式通信,例如通过HTTP接口、SOAP、RESTful API或者直接通过Socket编程。PHP可以通过JavaBridge、Quercus等工具直接调用Java类库,实现两者的无缝集成。 6. **优点**:LAJP的优势在于结合了...

    Linux Apache Java Php介绍

    1. **PHP和Java的通讯机制**:为了实现PHP与Java之间的高效通信,LAJP采用了两种通讯方式:消息队列和socket。这两种方式各有优劣,可以根据实际场景灵活选择。 - **消息队列**:适用于异步处理场景,可以提高系统...

    PHP请求Socket接口测试实例

    PHP请求Socket接口测试实例的知识点涵盖了使用PHP语言进行Socket通信的过程,以及Java语言编写Socket服务端的基本方法。下面将详细说明这些知识点: 1. PHP和Socket接口: PHP是一种广泛应用于Web开发的脚本语言,...

    socket线程池

    Socket线程池是一种在Java编程中管理Socket连接的机制,它通过维护一组可重用的线程来提高网络通信的效率和系统资源的利用率。在处理大量并发的Socket连接时,传统的模型可能会创建大量线程,这可能导致内存消耗过大...

    JAVA socket与易语言远程服务通信添加头2-易语言

    之前发过一个帖子JAVA socket和 易语言 远程服务通信,发现有问题,现重新发帖,贴上源码给需要的人 原帖地址:https://bbs.125.la/forum.php?mod=viewthreadtid=14411164extra= 经过几天测试,发现有BUG ,数据长度...

Global site tag (gtag.js) - Google Analytics