socket通信实现util包类实现

public class SocketThread extends Thread {

public void run() {

while (true) {

// log4j

Logger log = (Logger) LogManager.getLogger(SocketThread.class);

// 标识服务信息

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");

ServerSocket ss;// socket服务监听对象

Socket socket;// 获取监听得到的结果

BufferedReader in;// 输入流

PrintWriter out;// 输出流

try {

// 设置监听的端口,并实例监听对象

ss = new ServerSocket(SocketConstants.SOCKET_PORT_NO_EC);

while (true) {

// 开始监听,若没有客户端请求则线程一直停留在这里等待请求,

// 一旦就有请求,就获取监听到的对象

socket = ss.accept();

InputStream sis = socket.getInputStream();// socket服务获取的输入流

// 等待读取状态

// 大于零为获取完毕

while (sis.available() <= 0)

System.out.println("inputStream is waitting...");

in = new BufferedReader(new InputStreamReader(sis));// 获取输入

String line = "";// 监听到的字符串

// 读数据

while (in.ready()) {

line += in.readLine();

}

// 记录下获取到的字符串流

log.warn("client request is :" + line);

out = new PrintWriter(socket.getOutputStream(), true);// 构建输出

// 输出

out.println("server response " + sdf.format(new Date()));

// 关闭当前请求对象

out.close();

in.close();

socket.close();

}

} catch (IOException e) {

String msg = "\n" + e.getMessage();

for (StackTraceElement ste : e.getStackTrace()) {

msg += "\n" + ste.getClassName() + "-" + ste.getFileName() + "-" + ste.getMethodName() + "-" + ste.getLineNumber();

}

log.fatal(msg);

} catch (Exception ex) {

String msg = "\n" + ex.getMessage();

for (StackTraceElement ste : ex.getStackTrace()) {

msg += "\n" + ste.getClassName() + "-" + ste.getFileName() + "-" + ste.getMethodName() + "-" + ste.getLineNumber();

}

log.fatal(msg);

}

}

}

}

java 通讯开发_java之接口开发-初级篇-socket通信相关推荐

  1. 一款基于 Java 的可视化 HTTP API 接口开发神器

    今天推荐的 5 个项目是: magic-api :一款基于 Java 的可视化 HTTP API 接口开发神器. LanguageTool : 一款基于 Java 语言编写的开源语言校正工具. toB ...

  2. 浅谈 PHP 与手机 APP 开发(API 接口开发)

    http://www.thinkphp.cn/topic/5023.html 推荐阅读:RESTful 是什么?一起来理解 RESTful 架构 更深入了解API开发 这个帖子写给不太了解PHP与AP ...

  3. restful接口开发实例_Restful接口开发与测试—接口测试

    开发完接口,接下来我们需要对我们开发的接口进行测试.接口测试的方法比较多,使用接口工具或者Python来测试都可以,工具方面比如之前我们学习过的Postman或者Jmeter ,Python脚本测试可 ...

  4. 浅谈 PHP 与手机 APP 开发(API 接口开发) 1

    这个帖子写给不太了解PHP与API开发的人 一.先简单回答两个问题: 1.PHP 可以开发客户端? 答:不可以,因为PHP是脚本语言,是负责完成 B/S架构 或 C/S架构 的S部分,即:服务端的开发 ...

  5. PHP 与手机 APP 开发(API 接口开发)

    这个帖子写给不太了解PHP与API开发的人 一.先简单回答两个问题: 1.PHP 可以开发客户端? 答:不可以,因为PHP是脚本语言,是负责完成 B/S架构 或 C/S架构 的S部分,即:服务端的开发 ...

  6. java map 教程_Java Map接口

    Java Map接口 在本教程中,我们将学习Java Map接口及其方法. Java collections框架的Map接口提供了Map数据结构的功能. 它实现了Collection接口. map的工 ...

  7. [Unity]《太空射击》开发日记Ep.2(初级篇)

    文章目录 前言 敌人1脚本 预制件 敌人1的完善工作 触发器式碰撞 屏幕边缘检测 计算敌人1的飞行角度 优化敌人生成器 前言 [Unity]<太空射击>开发日记Ep.1(入门篇) 在上一篇 ...

  8. java学习笔记_Java学习笔记——第1篇

    Java程序运行机制 Java程序要经过先编译,后解释两个步骤 编译型:高级语言源码 -->机器码(一次性)    生成可执行程序,脱离开发环境,在指定平台上运行.(C/C++/Objectiv ...

  9. python安卓开发实例_python服务器与android客户端socket通信实例

    本文实例讲述了python服务器与android客户端socket通信的方法.分享给大家供大家参考.具体实现方法如下: 首先,服务器端使用python完成,下面为python代码: #server.p ...

最新文章

  1. matlab生成多组多维高斯分布数据
  2. CentOS6.5+puppet3.7.3 安装、配置及测试
  3. 【收藏】mydockfinder下载地址
  4. Elasticsearch 的一些关键概念
  5. 张朝阳:未来文娱重点将拍更多网剧 发展UGC、短视频社交和直播社交
  6. linux 窗口不能移动的替换命令
  7. 【小错误】ORA-00265: instance recovery required, cannot set ARCHIVELOG mode
  8. Tomcat的8080、8005、8009端口
  9. 在 SSD 上使用 btrfs 文件系统的相关优化
  10. jdom 读取xml_JDOM分析器–将XML文件读取为Java对象
  11. 2019年8月19日矩阵
  12. LNMP下Redis介绍以及安装(Linux)
  13. paip.云计算以及分布式计算的区别
  14. Bookmarks(2005-4-23)
  15. u盘扩容盘用什么软件测试,如何检测所购买的U盘是否为扩容盘?
  16. CEOI2017 Mousetrap
  17. 计算机学院转会,2020年英超冬窗转会汇总,你主队的操作让你满意吗?
  18. java中分号能代表换行吗,go语言中换行和分号那点事------理解为什么
  19. 台式计算机 无线接收,台式电脑无线接收器插上连不上网怎么处理
  20. 数据结构课程设计:17、售票处的服务系统(***)

热门文章

  1. Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行——怎么将Unix/Mac系统下的文件转换到Windows系统下
  2. 大数据分析需要什么技术架构
  3. 大数据在企业中起到什么作用
  4. 大数据分析关键的5个思维
  5. 物联网卡有哪几种类型
  6. filter笔记(主要看到黑马教程的ppt)
  7. 图像处理、分析与机器视觉(基于labview)_基于3D技术的机器视觉解决方案
  8. Python3.x+pycharm+Anaconda中缩小打包的.exe体积的方法
  9. Flutter - 底部导航详解与案例示范
  10. python中的连续比较是什么_Python算法的分治算法,python,之,连续,子,列表,最大,和...