php與java通過socket通信的實(shí)現(xiàn)代碼
demo實(shí)現(xiàn)的簡單功能是,接受PHP端寫入的字符串,然后原樣返回給輸出端。代碼如下:
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) throws IOException{
System.out.println("Server started !\n");
ServerSocket server=new ServerSocket(5678);
while (true){
Socket client=server.accept();
System.out.println("client coming!\n");
PrintWriter printer = new PrintWriter(client.getOutputStream());
BufferedReader reader = new BufferedReader(new InputStreamReader(client.getInputStream()));
String m = reader.readLine();
System.out.println("get infomation " + m + "\n from " + client.getInetAddress().toString());
printer.println(m);
printer.flush();
printer.close();
printer.close();
client.close();
System.out.println("client leaving!\n");
}
}
}
運(yùn)行起來,以后該java程序?qū)⒈O(jiān)聽5678端口,當(dāng)接收到消息以后,將接收的消息原樣返回給客戶端……
PHP的代碼如下:
<?php
$socket = socket_create ( AF_INET, SOCK_STREAM, SOL_TCP ) or die ( 'could not create socket' );
$connect = socket_connect ( $socket, '127.0.0.1', 5678 );
//向服務(wù)端發(fā)送數(shù)據(jù)
socket_write ( $socket, 'Hello' . "\n" );
//接受服務(wù)端返回?cái)?shù)據(jù)
$str = socket_read ( $socket, 1024, PHP_NORMAL_READ );
echo $str;
//關(guān)閉
socket_close($socket);
PHP程序連接本機(jī)的5678端口,寫入 Hello,然后讀取返回的數(shù)據(jù)……將返回的數(shù)據(jù),輸出到瀏覽器……
先運(yùn)行起java的服務(wù)端,然后用瀏覽器訪問PHP頁面,將看到從服務(wù)器端返回的Hello
- php實(shí)現(xiàn)的一個(gè)簡單json rpc框架實(shí)例
- php xml-rpc遠(yuǎn)程調(diào)用
- AMFPHP php遠(yuǎn)程調(diào)用(RPC, Remote Procedure Call)工具 快速入門教程
- php中關(guān)于codeigniter的xmlrpc的類在進(jìn)行數(shù)據(jù)交換時(shí)的類型問題
- PHP實(shí)現(xiàn)與java 通信的插件使用教程
- PHP與Java進(jìn)行通信的實(shí)現(xiàn)方法
- PHP的Socket通信之UDP通信實(shí)例
- PHP下操作Linux消息隊(duì)列完成進(jìn)程間通信的方法
- PHP 與 js的通信(via ajax,json)
- PHP與Go語言之間的通信詳解
- php中socket通信機(jī)制實(shí)例詳解
- PHP實(shí)現(xiàn)創(chuàng)建一個(gè)RPC服務(wù)操作示例
相關(guān)文章
Thinkphp和Bootstrap結(jié)合打造個(gè)性的分頁樣式(推薦)
這篇文章主要介紹了Thinkphp和Bootstrap結(jié)合打造個(gè)性的分頁樣式(推薦)的相關(guān)資料,非常不錯,具有參考借鑒價(jià)值,需要的朋友可以參考下2016-08-08淺談使用 PHP 進(jìn)行手機(jī) APP 開發(fā)(API 接口開發(fā))
做過 API 的人應(yīng)該了解,其實(shí)開發(fā) API 比開發(fā) WEB 更簡潔,但可能邏輯更復(fù)雜,因?yàn)?API 其實(shí)就是數(shù)據(jù)輸出,不用呈現(xiàn)頁面,所以也就不存在 MVC(API 只有 M 和 C),那么我們來探討下,如何使用php進(jìn)行手機(jī)API接口開發(fā)2014-08-08淺析PHP反序列化中過濾函數(shù)使用不當(dāng)導(dǎo)致的對象注入問題
這篇文章主要介紹了PHP反序列化中過濾函數(shù)使用不當(dāng)導(dǎo)致的對象注入問題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02基于Linux調(diào)試工具strace與gdb的常用命令總結(jié)
本篇文章是對Linux調(diào)試工具strace與gdb的常用命令進(jìn)行了總結(jié)與分析,需要的朋友參考下2013-06-06PHP設(shè)計(jì)模式之觀察者模式(Observer)詳細(xì)介紹和代碼實(shí)例
這篇文章主要介紹了PHP設(shè)計(jì)模式之觀察者模式(Observer)詳細(xì)介紹和代碼實(shí)例,需要的朋友可以參考下2014-04-04php 如何禁用eval() 函數(shù)實(shí)例詳解
在php中eval是一個(gè)函數(shù)并且不能直接禁用了,但eval函數(shù)又相當(dāng)?shù)奈kU(xiǎn)并經(jīng)常會出現(xiàn)一些問題,今天我們就一起來看看eval函數(shù)對數(shù)組的操作及php 如何禁用eval() 函數(shù),需要的朋友可以參考下2016-12-12