java 通讯开发_java之接口开发-初级篇-socket通信
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通信相关推荐
- 一款基于 Java 的可视化 HTTP API 接口开发神器
今天推荐的 5 个项目是: magic-api :一款基于 Java 的可视化 HTTP API 接口开发神器. LanguageTool : 一款基于 Java 语言编写的开源语言校正工具. toB ...
- 浅谈 PHP 与手机 APP 开发(API 接口开发)
http://www.thinkphp.cn/topic/5023.html 推荐阅读:RESTful 是什么?一起来理解 RESTful 架构 更深入了解API开发 这个帖子写给不太了解PHP与AP ...
- restful接口开发实例_Restful接口开发与测试—接口测试
开发完接口,接下来我们需要对我们开发的接口进行测试.接口测试的方法比较多,使用接口工具或者Python来测试都可以,工具方面比如之前我们学习过的Postman或者Jmeter ,Python脚本测试可 ...
- 浅谈 PHP 与手机 APP 开发(API 接口开发) 1
这个帖子写给不太了解PHP与API开发的人 一.先简单回答两个问题: 1.PHP 可以开发客户端? 答:不可以,因为PHP是脚本语言,是负责完成 B/S架构 或 C/S架构 的S部分,即:服务端的开发 ...
- PHP 与手机 APP 开发(API 接口开发)
这个帖子写给不太了解PHP与API开发的人 一.先简单回答两个问题: 1.PHP 可以开发客户端? 答:不可以,因为PHP是脚本语言,是负责完成 B/S架构 或 C/S架构 的S部分,即:服务端的开发 ...
- java map 教程_Java Map接口
Java Map接口 在本教程中,我们将学习Java Map接口及其方法. Java collections框架的Map接口提供了Map数据结构的功能. 它实现了Collection接口. map的工 ...
- [Unity]《太空射击》开发日记Ep.2(初级篇)
文章目录 前言 敌人1脚本 预制件 敌人1的完善工作 触发器式碰撞 屏幕边缘检测 计算敌人1的飞行角度 优化敌人生成器 前言 [Unity]<太空射击>开发日记Ep.1(入门篇) 在上一篇 ...
- java学习笔记_Java学习笔记——第1篇
Java程序运行机制 Java程序要经过先编译,后解释两个步骤 编译型:高级语言源码 -->机器码(一次性) 生成可执行程序,脱离开发环境,在指定平台上运行.(C/C++/Objectiv ...
- python安卓开发实例_python服务器与android客户端socket通信实例
本文实例讲述了python服务器与android客户端socket通信的方法.分享给大家供大家参考.具体实现方法如下: 首先,服务器端使用python完成,下面为python代码: #server.p ...
最新文章
- matlab生成多组多维高斯分布数据
- CentOS6.5+puppet3.7.3 安装、配置及测试
- 【收藏】mydockfinder下载地址
- Elasticsearch 的一些关键概念
- 张朝阳:未来文娱重点将拍更多网剧 发展UGC、短视频社交和直播社交
- linux 窗口不能移动的替换命令
- 【小错误】ORA-00265: instance recovery required, cannot set ARCHIVELOG mode
- Tomcat的8080、8005、8009端口
- 在 SSD 上使用 btrfs 文件系统的相关优化
- jdom 读取xml_JDOM分析器–将XML文件读取为Java对象
- 2019年8月19日矩阵
- LNMP下Redis介绍以及安装(Linux)
- paip.云计算以及分布式计算的区别
- Bookmarks(2005-4-23)
- u盘扩容盘用什么软件测试,如何检测所购买的U盘是否为扩容盘?
- CEOI2017 Mousetrap
- 计算机学院转会,2020年英超冬窗转会汇总,你主队的操作让你满意吗?
- java中分号能代表换行吗,go语言中换行和分号那点事------理解为什么
- 台式计算机 无线接收,台式电脑无线接收器插上连不上网怎么处理
- 数据结构课程设计:17、售票处的服务系统(***)
热门文章
- Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行——怎么将Unix/Mac系统下的文件转换到Windows系统下
- 大数据分析需要什么技术架构
- 大数据在企业中起到什么作用
- 大数据分析关键的5个思维
- 物联网卡有哪几种类型
- filter笔记(主要看到黑马教程的ppt)
- 图像处理、分析与机器视觉(基于labview)_基于3D技术的机器视觉解决方案
- Python3.x+pycharm+Anaconda中缩小打包的.exe体积的方法
- Flutter - 底部导航详解与案例示范
- python中的连续比较是什么_Python算法的分治算法,python,之,连续,子,列表,最大,和...