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之接口开发-初级篇-socket通信的更多相关文章
- java之接口开发-初级篇
简述:转眼之间已经开发java有五年之余了,从以前的刚刚接触电脑,到现在的公司上班,真是转眼之间呀!前两年开发过前端,后台和Android,Android火的那几年,差点转去做Android,哈哈!后 ...
- java之接口开发-初级篇-webservice协议
webservice协议 客户端: 客户端生成使用soapUI生成 外部提供webservice地址,地址后加?wsdl.选择好目录然后生成,放到项目中实现 服务端: web.xml平级目录下创建se ...
- java之接口开发-初级篇-http和https
http协议util address(url地址),str(数据参数) private static HttpMethod getPostJsonMethodInRequestBody(String ...
- Java工程师学习指南 初级篇
Java工程师学习指南 初级篇 最近有很多小伙伴来问我,Java小白如何入门,如何安排学习路线,每一步应该怎么走比较好.原本我以为之前的几篇文章已经可以解决大家的问题了,其实不然,因为我之前写的文章都 ...
- JAVA WEB接口开发简述
目录 1. JAVA WEB接口开发简述 1.1. 基本了解 1.2. 提供接口 1.3. 调用接口 1. JAVA WEB接口开发简述 1.1. 基本了解 当我们想去访问其他网站的接口时候,而又不想 ...
- java 微信自定义菜单 java微信接口开发 公众平台 SSM redis shiro 多数据源
A 调用摄像头拍照,自定义裁剪编辑头像,头像图片色度调节B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,快速开发利器)+快速表单构建器 freemaker模版技术 ,0个代码不用写,生成 ...
- 坦克大战--Java类型 ---- (3)实现socket通信
一.实现思路 使用socket通信的一些方法来实现socket通信,客户端和服务端两边需要约定好通信的接口Port(尽量选高的),客户端需要服务端的IP地址,以实现数据交流. 同时,客户端和服务端需要 ...
- 网络编程-SOCKET开发之----3. socket通信工作流程
1. TCP的socket通信流程 服务端 1)socket----创建socket对象. 2)bind----绑定本机ip+port. 3)listen----监听来电,若在监听到来电,则建立起连接 ...
- java学习小笔记(三.socket通信)【转】
三,socket通信1.http://blog.csdn.net/kongxx/article/details/7288896这个人写的关于socket通信不错,循序渐进式的讲解,用代码示例说明,运用 ...
随机推荐
- LeetCode39.组合总和 JavaScript
给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合. candidates 中的数字可以无限制重复被选 ...
- SQL Server 数据库每个表占用的空间、大小
查看MSSQL数据库每个表占用的空间大小 sp_spaceused显示行数.保留的磁盘空间以及当前数据库中的表所使用的磁盘空间,或显示由整个数据库保留和使用的磁盘空间. 语法sp_spaceused ...
- C++练习 | 模板与泛式编程练习
#include <iostream> #include <cmath> #include <cstring> #include <string> #i ...
- HP-Socket国产优秀socket通信组件推荐
来源:http://blog.csdn.net/clb929/article/details/51085983 * HP-Socket 官方网站:http://www.jessma.org * HP- ...
- Linux --- Ubuntu16.04.5 LTS 虚拟机安装后的软件安装基础操作总结
1. 配置安装源 因为默认是使用Ubuntu官方服务器,国内电脑使用外国服务器较慢,所以需使用国内的服务器(以下清华大学服务器为例). 方法一: (此过程很慢,实在不动就取消吧,加载一部分也够用,以后 ...
- Python中级 —— 01面向对象进阶
面向对象进阶 总结.补充(http://blog.csdn.net/fgf00/article/details/52479307) 面向对象高级语法部分 静态方法.类方法.属性方法 类的特殊方法 反射 ...
- python django web 端文件上传
利用Django实现文件上传并且保存到指定路径下,其实并不困难,完全不需要用到django的forms,也不需要django的models,就可以实现,下面开始实现. 第一步:在模板文件中,创建一个f ...
- PHP打包zip并下载
$file_template = FCPATH.'canddata/cand_picture.zip';//在此之前你的项目目录中必须新建一个空的zip包(必须存在) $downname = $car ...
- 关于Xshell无法连接本地虚拟机的问题
近期想搭建一个测试用的集群,但是! 刚开始搭第一台虚拟机就出现问题了,Xshell无法连接到虚拟机! 然后我更改了/etc/sysconfig/network-scripts/ifcfg-ens33 ...
- 学在Java之前
java基础 下载JDK JDK(Java Development Kit Java开发工具包) 官方网址: www.oracle.com 参阅oracle.html ...