socket通讯工具类
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通讯工具类相关推荐
- Android模拟服务端下发消息的Socket通讯工具
Android模拟服务端下发消息的Socket通讯工具 1. 背景简介 背景简介: 有些场景需要依赖服务端下发消息到客户端,比如PowerMsg,服务端下发消息Type,客户端解析Type做出相应动作 ...
- java socket 工具包_java.net 包 Socket通信 工具类
废话1000000字省略.........呵呵...... 首先是服务器端:FileServer.java package com.stars.windsystem.tool.utils; impor ...
- java毕业设计——基于Java+SOCKET的即时通讯工具设计与实现(毕业论文+程序源码)——即时通讯工具
基于Java+SOCKET的即时通讯工具设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于Java+SOCKET的即时通讯工具设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下 ...
- java socket工具类
服务端 package server;import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.I ...
- Protobuf实现Android Socket通讯开发教程
本节为您介绍Protobuf实现Android Socket通讯开发教程,因此,我们需要先了理一下protobuf 是什么? Protocol buffers是一种编码方法构造的一种有效而可扩展的格式 ...
- 【山大会议】私人聊天频道 WebRTC 工具类
文章目录 序言 逻辑设计 私人 WebRTC 工具类代码 序言 在山大会议中,我们不仅要实现多人视频会议,我们还需要实现一个类似 QQ.微信 这样的即时通讯服务.在这个一对一的私人聊天服务中,我们添加 ...
- 【山大会议】多人视频通话 WebRTC 工具类搭建
文章目录 前言 系统架构 Mesh 架构 MCU 架构 SFU 架构 具体代码 RTC.ts SFU.ts 前言 山大会议 基于 WebRTC 技术实现多人同时在线的视频会议功能.但是 WebRTC ...
- 干货:排名前 16 的 Java 工具类!
2019独角兽企业重金招聘Python工程师标准>>> 干货:排名前 16 的 Java 工具类! 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最 ...
- 排名前 16 的 Java 工具类
转载来自微信公众号:Java 技术栈.如有侵权,请联系作者删除!! 在 Java 中,工具类定义了一组公共方法,这篇文章将介绍 Java 中使用最频繁及最通用的 Java 工具类.以下工具类.方法按使 ...
最新文章
- java 中 synchronized (class) 是什么意思?
- 对linuxptp软件移植到arm下遇到的问题进行记录
- 华科计算机课程设计,华中科大操作系统课程设计报告(附源码).doc
- rust队友开挂_腐蚀RUST开挂玩家识别方法 如何识别玩家开挂
- 洛谷——P1144 最短路计数
- PLSQL Developer 12 破解注册码
- django rest framework serializer 增加自定义字段
- 使用MoveIt!+Arbotix控制六自由度机械臂
- 打印系统开发(6)——纸张尺寸对照表如下
- 搭建内网BT服务器(转)
- IntelliJ Save Action
- 蓝桥杯基础-【切面条】不用画图的解题思路
- SOAR+HIDS,增强主机安全防护
- AD19 keepoutlayer相关
- Vue过滤器:第二天
- 暮然回首:我的10年软件开发生涯
- php怎么让日期变成数字形似,excel如何把日期变成纯数字
- Java基础3-枚举类与注解
- 【搞定Jvm面试】 JVM 垃圾回收揭秘附常见面试题解析
- 打击恶意逃废债 捞财宝响应互金整治办报送“老赖”信息