java做的远程执行bat文件
我现在在本地测试,只要在指定路径下生成文件就算好用客户端的连接ip是127.0.0.1
debug的话各种好用,文件也有
要是直接运行的话,就没有反应,也不报错,也没有文件。
为什么?

解决方案 »

  1.   

    应该是多线程协同作业的问题,因为你Debug有停顿,而非Debug是不停顿的,可能正好是这个停顿帮你解决了协同的问题。
      

  2.   

    呵呵,这个解决了
    还有个问题:
    远程执行bat时,客户端给服务器端发送了一个socket,服务器端怎么返回结果啊,也是发送socket吗?客户端怎么接收?
      

  3.   

    是的,也是用Socket,两边都是通过Socket来通信,你可以用同一个Socket(只支持一个来回),也可以用两个Socket来实现
      

  4.   

    我是这样用的可是出错了,帮我看看吧客户端:
    Socket sct = new Socket(ip, TCP_PORT);
    DataOutputStream dos = new DataOutputStream(sct.getOutputStream());
    dos.write(“1234”);DataInputStream dis = new DataInputStream(sct.getInputStream());
    String s = dis.readUTF();//接收来自服务器的消息是在这里写就可以了吗?
    服务器端:
     while (true) {
                try {
                    Socket sct = ss.accept();
                    Thread td = new Thread(new 1234Thread(sct));
                    td.start();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }1234Thread:
    OutputStream os = sct.getOutputStream();
    DataOutputStream ds = new DataOutputStream(os);
    ds.writeUTF("FAILED");//这一行代码就可以让服务器返回给客户端消息了吧