import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;/*** socket通讯工具类* @author wpj_service**/
public class SocketUtil {private static final String ADDRESS = "127.0.0.1";private static final String PORT = "19";public static ResponseBean getResponseXML(String message){ResponseBean response = new ResponseBean();try {Socket socket = new Socket(ADDRESS, Integer.parseInt(PORT));//输出流OutputStream os=socket.getOutputStream();PrintWriter pw=new PrintWriter(os);//输入流InputStream is=socket.getInputStream();BufferedReader br=new BufferedReader(new InputStreamReader(is));//向服务器写入数据pw.write(message);pw.flush();socket.shutdownOutput();//接收服务器的相应String reply=null;StringBuilder sb=new StringBuilder();while(!((reply=br.readLine())==null)){sb.append(reply.trim());}response.setData(sb.toString());response.setIsSuccess(true);//关闭资源br.close();is.close();pw.close();os.close();socket.close();} catch (UnknownHostException e) {response.setIsSuccess(false);response.setMessage("内部连接失败");LoggerUtil.insertLog("Socket连接失败");} catch (IOException e) {response.setIsSuccess(false);response.setMessage("内部通讯出错");LoggerUtil.insertLog("Socket通讯出错");e.printStackTrace();} catch (Exception e) {response.setIsSuccess(false);response.setMessage("内部通讯解析失败");LoggerUtil.insertLog("Socket通讯解析失败");e.printStackTrace();}return response;}
}

可以返回对象也可以返回其他类型,这样封装耦合更少。

响应对象:

import java.util.Map;public class ResponseBean {private Boolean isSuccess;private String message;private String data;private Map<String,Object> more;public Boolean getIsSuccess() {return isSuccess;}public void setIsSuccess(Boolean isSuccess) {this.isSuccess = isSuccess;}public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}public String getData() {return data;}public void setData(String data) {this.data = data;}public Map<String, Object> getMore() {return more;}public void setMore(Map<String, Object> more) {this.more = more;}
}

socket通讯工具类相关推荐

  1. Android模拟服务端下发消息的Socket通讯工具

    Android模拟服务端下发消息的Socket通讯工具 1. 背景简介 背景简介: 有些场景需要依赖服务端下发消息到客户端,比如PowerMsg,服务端下发消息Type,客户端解析Type做出相应动作 ...

  2. java socket 工具包_java.net 包 Socket通信 工具类

    废话1000000字省略.........呵呵...... 首先是服务器端:FileServer.java package com.stars.windsystem.tool.utils; impor ...

  3. java毕业设计——基于Java+SOCKET的即时通讯工具设计与实现(毕业论文+程序源码)——即时通讯工具

    基于Java+SOCKET的即时通讯工具设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于Java+SOCKET的即时通讯工具设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下 ...

  4. java socket工具类

    服务端 package server;import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.I ...

  5. Protobuf实现Android Socket通讯开发教程

    本节为您介绍Protobuf实现Android Socket通讯开发教程,因此,我们需要先了理一下protobuf 是什么? Protocol buffers是一种编码方法构造的一种有效而可扩展的格式 ...

  6. 【山大会议】私人聊天频道 WebRTC 工具类

    文章目录 序言 逻辑设计 私人 WebRTC 工具类代码 序言 在山大会议中,我们不仅要实现多人视频会议,我们还需要实现一个类似 QQ.微信 这样的即时通讯服务.在这个一对一的私人聊天服务中,我们添加 ...

  7. 【山大会议】多人视频通话 WebRTC 工具类搭建

    文章目录 前言 系统架构 Mesh 架构 MCU 架构 SFU 架构 具体代码 RTC.ts SFU.ts 前言 山大会议 基于 WebRTC 技术实现多人同时在线的视频会议功能.但是 WebRTC ...

  8. 干货:排名前 16 的 Java 工具类!

    2019独角兽企业重金招聘Python工程师标准>>> 干货:排名前 16 的 Java 工具类!   在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最 ...

  9. 排名前 16 的 Java 工具类

    转载来自微信公众号:Java 技术栈.如有侵权,请联系作者删除!! 在 Java 中,工具类定义了一组公共方法,这篇文章将介绍 Java 中使用最频繁及最通用的 Java 工具类.以下工具类.方法按使 ...

最新文章

  1. java 中 synchronized (class) 是什么意思?
  2. 对linuxptp软件移植到arm下遇到的问题进行记录
  3. 华科计算机课程设计,华中科大操作系统课程设计报告(附源码).doc
  4. rust队友开挂_腐蚀RUST开挂玩家识别方法 如何识别玩家开挂
  5. 洛谷——P1144 最短路计数
  6. PLSQL Developer 12 破解注册码
  7. django rest framework serializer 增加自定义字段
  8. 使用MoveIt!+Arbotix控制六自由度机械臂
  9. 打印系统开发(6)——纸张尺寸对照表如下
  10. 搭建内网BT服务器(转)
  11. IntelliJ Save Action
  12. 蓝桥杯基础-【切面条】不用画图的解题思路
  13. SOAR+HIDS,增强主机安全防护
  14. AD19 keepoutlayer相关
  15. Vue过滤器:第二天
  16. 暮然回首:我的10年软件开发生涯
  17. php怎么让日期变成数字形似,excel如何把日期变成纯数字
  18. Java基础3-枚举类与注解
  19. 【搞定Jvm面试】 JVM 垃圾回收揭秘附常见面试题解析
  20. 打击恶意逃废债 捞财宝响应互金整治办报送“老赖”信息

热门文章

  1. 【What if 系列】压力山大
  2. 《火影忍者》中角斗场PK、提升战力
  3. (附源码)ssm+mysql+基于Java的微小企业人事管理系统的设计与实现 毕业设计231012
  4. 2023年全国最新安全员精选真题及答案47
  5. 大厂技术专家:云原生与软件供应链安全的思考
  6. 瘦客机服务器系统,瘦客户机服务器做什么(What does a Thin-Client Server do)?
  7. 信号量机制(PV操作)
  8. 未间断向提供商品粮 国稻种芯·中国水稻节:江西筑江南粮仓
  9. 将CAD文件导入AD软件
  10. 性别和教育:先天加上后天【经济学人】