123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- 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 "";
- }
- }
|