使用Socket,让连接客户端可以对服务端执行相应的指令
2017-02-16 00:45
330 查看
我们都知道使用Socket套接字,可以让客户端来连接服务端,并提供相应的服务。那现在不仅如此,这里我们让连接的客户端能够在服务端执行相应的指令,并返回相应的执行结果
1、知识准备
1. Socket的使用,这部分可以读下列的文章。
http://blog.csdn.net/franky_jie/article/details/54987285
http://blog.csdn.net/franky_jie/article/details/55061435
2. 这里引用一个新的类
这里这个类有一个方法,可以生成一个进程对象
这里这个exec方法就可以用来执行我们想要的指令
2、实例操作
这样,就可以使用Socket,让连接客户端可以对服务端执行相应的指令。
3、结果截图
这里我们用Windows自带的telnet来连接这个客户端
1、知识准备
1. Socket的使用,这部分可以读下列的文章。
http://blog.csdn.net/franky_jie/article/details/54987285
http://blog.csdn.net/franky_jie/article/details/55061435
2. 这里引用一个新的类
这里这个类有一个方法,可以生成一个进程对象
这里这个exec方法就可以用来执行我们想要的指令
2、实例操作
public static void test3() { try { ServerSocket serverSocket = new ServerSocket(8888); while(true){ Socket socket = serverSocket.accept(); System.out.println(socket.getInetAddress()); PrintWriter clientPw = new PrintWriter(socket.getOutputStream()); Scanner clientSc = new Scanner(socket.getInputStream()); clientPw.println("请输入的你要执行的指令"); clientPw.flush(); while(clientSc.hasNextLine()){ try{ String command = clientSc.nextLine(); System.out.println(command); //这里的这个cmd /c 参数表示在命令行下执行,执行完毕后关闭命令行并输出结果 Process p = Runtime.getRuntime().exec("cmd /c"+command); String content = "" ; Scanner psi = new Scanner(p.getInputStream()); while(psi.hasNextLine()){ content+=psi.nextLine()+"\r\n"; } System.out.println("执行的结果"+content); clientPw.println(content); clientPw.flush(); Scanner pse = new Scanner(p.getErrorStream()); String errcontent = "" ; while(pse.hasNextLine()){ errcontent+=pse.nextLine()+"\r\n"; } if(!errcontent.equals("")){ clientPw.println(errcontent); clientPw.flush(); System.out.println(errcontent); } }catch(Exception e){ e.printStackTrace(); } } } } catch (IOException e) { e.printStackTrace(); } }
这样,就可以使用Socket,让连接客户端可以对服务端执行相应的指令。
3、结果截图
这里我们用Windows自带的telnet来连接这个客户端
相关文章推荐
- java写的Socket客户端和服务端通信,经验证可以执行的代码,并添加了很多注释
- Socket服务端接受多个客户端的连接(.NET)
- 在socket编程中,如何获取连接另一端(客户端)的ip地址,使用accept或者getpeername
- SOCKET客户端与服务端长时间通信后,会连接不上服务端的问题,以及server端UDP丢包的问题
- 使用Socket,多客户端连接服务器端程序范例
- loadunner使用socket协议来实现多客户端连接同一服务器脚本(使用到IP欺骗技术)
- C#客户端与Java程序使用socket连接并通信的兼容问题
- 黑马程序员学习日记(9)--socket服务端与客户端连接(1)
- 总结使用Get、Post、Socket三种方式连接服务端与传输数据的步骤
- loadrunner使用socket协议来实现客户端对服务器产生压力实例。(通过发送心跳包,达到连接多个客户端的目的)
- 使用127.0.0.1这个地址可以连接上服务端,但是使用本机真实IP(ipconfig)却连不上
- Socket编程服务器和客户端(多个客户端可以同时连接一个服务器的同一端口)
- socket通讯,可以相应多个客户端源码
- socket连接服务端和客户端的新demo,扩展性更好,更适合用于项目中。
- C语言 Socket入门示例2——模拟远程CMD(客户端向服务器发送命令,服务端执行该命令)
- 使用SOCKET API写的客户端与服务端测试程序(C语言)
- Mina框架中使用Socket的例子,包括服务端和客户端。
- mac自带了svn服务端和客户端,所以只需要简单配置一下就可以使用
- java服务端客户端交互系列(一)socket连接
- Android使用Socket编程连接服务端