demo实现的简单功能是,接受PHP端写入的字符串,然后原样返回给输出端。代码如下:
import java.io.*; <BR>import java.net.*; <br><br>public class Server { <BR>public static void main(String[] args) throws IOException{ <BR> System.out.println("Server started !\n"); <BR> ServerSocket server=new ServerSocket(5678); <BR> while (true){ <BR> Socket client=server.accept(); <BR> System.out.println("client coming!\n"); <BR> PrintWriter printer = new PrintWriter(client.getOutputStream()); <BR> BufferedReader reader = new BufferedReader(new InputStreamReader(client.getInputStream())); <BR> String m = reader.readLine(); <BR> System.out.println("get infomation " + m + "\n from " + client.getInetAddress().toString()); <BR> printer.println(m); <BR> printer.flush(); <BR> printer.close(); <BR> printer.close(); <BR> client.close(); <BR> System.out.println("client leaving!\n"); <BR> } <BR> } <BR>}<BR>
运行起来,以后该java程序将监听5678端口,当接收到消息以后,将接收的消息原样返回给客户端……
PHP的代码如下:
<?php <BR> $socket = socket_create ( AF_INET, SOCK_STREAM, SOL_TCP ) or die ( 'could not create socket' ); <BR> $connect = socket_connect ( $socket, '127.0.0.1', 5678 ); <BR> //向服务端发送数据 <BR> socket_write (<div style="color:transparent">!本文来源gaodai.ma#com搞##代!^码网(</div><sup>搞gaodaima代码</sup> $socket, 'Hello' . "\n" ); <BR> //接受服务端返回数据 <BR> $str = socket_read ( $socket, 1024, PHP_NORMAL_READ ); <br><br> echo $str; <BR> //关闭 <BR> socket_close($socket);<BR>
PHP程序连接本机的5678端口,写入 Hello,然后读取返回的数据……将返回的数据,输出到浏览器……
先运行起java的服务端,然后用浏览器访问PHP页面,将看到从服务器端返回的Hello