package com.welampiot.utils; import com.welampiot.configuration.BroadcastConfig; import com.welampiot.configuration.ScreenConfig; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.mime.MultipartEntityBuilder; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ConnectException; import java.net.Socket; import java.util.Map; import java.util.Set; public class BroadcastUtil { /** * 小播鼠音柱发送指令 * @param msg 指令信息 * @param timeout 指令超时时间 * @return 指令返回信息 */ public static String sendBroadcastXiaoBoshu(String msg,int timeout){ try { //创建客户端的Socket对象 Socket socket = new Socket(BroadcastConfig.xiaoBoShuHost, BroadcastConfig.xiaoBoShuPort); socket.setSoTimeout(timeout); //获取输出流,写数据 OutputStream outputStream = socket.getOutputStream(); outputStream.write(msg.getBytes()); //接收服务器的反馈 InputStream inputStream = socket.getInputStream(); byte[] bys = new byte[1024]; int len = inputStream.read(bys); String s = new String(bys, 0, len); //释放资源 socket.close(); return s; } catch (ConnectException e4) { } catch (Exception e5) { } return ""; } /** * 世邦音柱发送指令 * @param msg 指令信息 * @param timeout 指令超时时间 毫秒 * @return 指令返回信息 */ public static String sendBroadcastShiBang(String url,Map msg, int timeout){ HttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost(url); RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(5000).setConnectionRequestTimeout(1000).setSocketTimeout(timeout).build(); httpPost.setConfig(requestConfig); // 创建一个multipart实体构建器 MultipartEntityBuilder builder = MultipartEntityBuilder.create(); // 添加表单字段 Set set = msg.keySet(); for (Object o :set) { Object o1 = msg.get(o); builder.addTextBody((String) o, (String) o1); } // 添加文件字段 // File file = new File("path/to/file.txt"); // FileBody fileBody = new FileBody(file); // builder.addPart("file", fileBody); // 构建请求实体 HttpEntity httpEntity = builder.build(); httpPost.setEntity(httpEntity); try { // 发送请求 HttpResponse response = httpClient.execute(httpPost); // 处理响应 HttpEntity entity = response.getEntity(); // 使用EntityUtils工具类将HttpEntity转换为字符串 return EntityUtils.toString(entity); } catch (IOException e) { // e.printStackTrace(); } return ""; } /** * 音柱tcp指令 * @param msg 指令信息 * @param timeout 指令超时时间 * @return 指令返回信息 */ public static String sendBroadcastByTcp(String msg,int timeout){ try { //创建客户端的Socket对象 Socket socket = new Socket(BroadcastConfig.broadcastTcpHost, BroadcastConfig.broadcastTcpPort); socket.setSoTimeout(timeout); //获取输出流,写数据 OutputStream outputStream = socket.getOutputStream(); outputStream.write(msg.getBytes()); //接收服务器的反馈 InputStream inputStream = socket.getInputStream(); byte[] bys = new byte[1024]; int len = inputStream.read(bys); String s = new String(bys, 0, len); //释放资源 socket.close(); return s; } catch (ConnectException e4) { } catch (Exception e5) { } return ""; } }