ec4p(eclipse console for php),PHP开发调试(debug)工具Eclipse Console for PHP(EC4P)

import java.io.*;

import java.net.*;

import java.text.SimpleDateFormat;

import java.util.Date;

/**

* edit soolly

* vision:0.5

* eclipse 插件端代码

* 网络上的代码,完善了线程锁,现在接收数据流打印的时候顺序不会乱了

* 一段时间以后计划做成eclipse插件

* 代码发布在http://club.topsage.com/thread-2450808-1-1.html

*

* 该文件来源:《java编程思想(第2版)》,作者Bruce Eckel

* 被修改了输出的几句话。,还有编码等 现成的php 的 eclipse 的控制台,

*

* 使php 在pdt环境下 本机调试更加方便 发表评论,请http://xieye.javaeye.com/ xieye 20081122

*/

class Console4PHPOperate extends Thread {

private Socket socket;

private BufferedReader in;

private Console4PHPServe obj;

public Console4PHPOperate(Socket s,Object o) throws IOException {

socket = s;

obj = (Console4PHPServe)o;

in = new BufferedReader(new InputStreamReader(socket.getInputStream(),"UTF-8"));

}

public void run() {

try {

SimpleDateFormat sdf = new SimpleDateFormat(

"[HH:mm:ss]");

//"yyyy-MM-dd HH:mm:ss");

System.out.print(sdf.format(new Date()) + " ");

while (true) {

String str = in.readLine();

if (str.equals(Console4PHPServe.S_EOF))

break;

if(str.equals("//"+Console4PHPServe.S_EOF)){

str=Console4PHPServe.S_EOF;

}

System.out.println(str);

}

} catch (IOException e) {

System.err.println("== 客户端强行关闭 ==");

} finally {

try {

socket.close();

obj.waitForAll(true, this);

} catch (IOException e) {

System.err.println("Socket not closed");

}

}

}

}

public class Console4PHPServe {

static final int PORT = 8281; // 监听端口,请保持php一致

static final String S_EOF = "END"; // 停止字符串,和php一致

public static void main(String[] args) throws IOException {

Console4PHPServe c = new Console4PHPServe();

c.waitForAll(false,c);

}

public synchronized void waitForAll(boolean flag,Object o)  throws IOException {

if(flag){

notifyAll();

}else{

ServerSocket s = null;

try{

s = new ServerSocket(PORT);

System.out.println("PHP控制台启动。");

}catch(Exception e){

System.out.println("端口"+PORT+"被占用!");

}

try {

while (true) {

Socket socket = s.accept();

try {

new Console4PHPOperate(socket,o).start();

try {

wait();

} catch (Exception e) {}

} catch (IOException e) {

socket.close();

}

}

} finally {

System.out.println("PHP控制台关闭。");

s.close();

}

}

}

protected void finalize()

{

System.out.println("PHP控制台关闭。");

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值