3.2.2 JAVA代码实现

创建一个文本文件,命名为helloworld.java,编辑代码如下:

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.URL; import java.net.URLConnection; import java.util.List; import java.util.Map; public class helloworld { public static void main(String[] args) { PrintWriter out = null; BufferedReader in = null; String result = ""; String param = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Control attribute=\"Query\">\n<DeviceInfo/>\n</Control>\n"; try { URL realUrl = new URL("http://10.129.250.151:80/xml"); // 打开和URL之间的连接,设备地址和web远程端口 URLConnection conn = realUrl.openConnection(); // 设置通用的请求属性//package com.pasier.quanzi.web.controller; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.InetAddress; import java.net.ServerSocket; import java.net.Socket; public class listenserver extends ServerSocket { listenserver(int serverPort) throws IOException { // 用指定的端口构造一个ServerSocket super(serverPort); System.out.println("start listen 8090\n"); try { while (true) { // 监听一端口,等待客户接入 Socket socket = accept(); System.out.println("client " + socket +" connected\n"); // 将会话交给线程处理 new ServerThread(socket); } } catch (IOException e) { e.printStackTrace(); } finally { close(); // 关闭监听端口 } } // inner-class ServerThread class ServerThread extends Thread { private Socket socket; private BufferedReader in; // Ready to conversation public ServerThread(Socket s) throws IOException { this.socket = s; // 构造该会话中的输入输出流 in = new BufferedReader(new InputStreamReader(socket.getInputStream(),"UTF-8")); start(); } // Execute conversation public void run() { try { int n = 1; while(true) { // 通过输入流接收客户端信息 String line = in.readLine(); if(line==null || line.length()<=0){ if(n==1){//API信息中过滤http头和内容直接的空白 n = 0; System.out.println("Receivedmessage: " + line); continue; } else{ break; } } System.out.println("Receivedmessage: " + line); } in.close(); socket.close(); //处理事件、话单或其他信息 System.out.println("client " + socket +" finished\n"); } catch (IOException e) { e.printStackTrace(); } } } // main method public static void main(String[] args) throws IOException { new listenserver(8090); } }


安装jdk 1.6以上环境,编译:javac helloworld.java,生成目标文件helloworld.class。然后直接运行java helloworld即可,测试可用。

results matching ""

    No results matching ""