package com.ra.car.utils;

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;
import java.util.HashMap;
import java.util.Map; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import com.alibaba.fastjson.JSON; public class JavaTCPClient { protected static final Logger logger = LoggerFactory
.getLogger(JavaTCPClient.class); public static void main(String[] args) { try {/*
// 创建Socket对象
Socket socket = new Socket("a.mintaian.com", 8903); logger.info("11111111111111");
// 根据输入输出流和服务端连接
OutputStream outputStream = socket.getOutputStream();// 获取一个输出流,向服务端发送信息
logger.info("2222222222222222222");
PrintWriter printWriter = new PrintWriter(outputStream);// 将输出流包装成打印流
logger.info("3333333333333333333");
printWriter.print("服务端你好,我是客户1,这是我的第"+i+"次请求");
logger.info("444444444444444");
printWriter.flush();
socket.shutdownOutput();// 关闭输出流
logger.info("55555555555");
InputStream inputStream = socket.getInputStream();// 获取一个输入流,接收服务端的信息
logger.info("666666666666666666");
InputStreamReader inputStreamReader = new InputStreamReader(
inputStream);// 包装成字符流,提高效率
logger.info("777777777777777777");
BufferedReader bufferedReader = new BufferedReader(
inputStreamReader);// 缓冲区
logger.info("888888888888888888888");
String info = "";
String temp = null;// 临时变量
while ( (temp=bufferedReader.readLine())!= null) {
logger.info("9999999999999");
info += temp;
logger.info("客户端接收服务端发送信息:" + info+i);
}
logger.info("这是我的第"+i+"次调用!");
// 关闭相对应的资源
bufferedReader.close();
inputStream.close();
printWriter.close();
outputStream.close();
socket.close();
*/
Socket socket = new Socket("a.mintaian.com", 8903);
OutputStream os = socket.getOutputStream();
PrintWriter printWriter = new PrintWriter(os);
Map<String, Object> map=new HashMap<String, Object>();
Map<String, Object> m=new HashMap<String, Object>();
Map<String, Object> m1=new HashMap<String, Object>();
m1.put("subAlarmName", "左边虚线");
String[] str=new String[]{"1","2","3"};
m1.put("adasRes", str);
m.put("imei", "862465030008629");
m.put("deviceData", m1);
map.put("id", "862465030008629-1509354778289");
map.put("dataPackage", m);
map.put("isAdas", "1");
String msg = JSON.toJSONString(map)+"\n";
printWriter.write(msg);
printWriter.flush();
// socket.shutdownOutput();
InputStream is = socket.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(
is);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
logger.info("发送的消息是:" + msg);
msg = null;
while ((msg = bufferedReader.readLine()) != null) {
logger.info("msg:" + msg);
}
logger.info("999999999999999999999999");
// 关闭相对应的资源
// bufferedReader.close();
// is.close();
// printWriter.close();
// os.close();
//socket.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}

最新文章

  1. 机器学习——Logistic回归
  2. $http服务和$location
  3. Effective Java 30 Use Enums instead of int constants
  4. PHP获得两个绝对路径的相对路径
  5. WGS84经纬度坐标与web墨卡托之间的转换【转】
  6. 动态得到WCF的代理类并生成代码
  7. [COGS 2051] 王者之剑
  8. ucosii --任务就绪表
  9. poj 1367 robot(搜索)
  10. 关于ES7中的async/await在客户端和服务端上的实践
  11. RHEL 6.9 udev 将lv绑定raw devices
  12. 周一02.3运行python程序的两种方式
  13. Python学习—基础篇之基本数据类型(二)
  14. Spring Security(二):一、Preface(前言)
  15. tp5 设置layui分页
  16. python常用函数总结
  17. 【转】CentOS 7部署ASP.NET Core应用程序
  18. Ubuntu 16.04 下部署Node.js+MySQL微信小程序商城
  19. 【LNMP】提示Nginx PHP “No input file specified”错误的解决办法
  20. linux 乌班图 安装pycharm

热门文章

  1. No module named pip 安装工具提示没有pip模块时,解决办法
  2. Java+selenium 如何下拉移动滚动条【实战】
  3. List去重问题
  4. python实现图片隐藏信息技术
  5. 前端框架之Vue(4)-Class与Style绑定
  6. [转]如何快速转载CSDN中的博客
  7. CentOS 查看系统 CPU 个数、核心数、线程数
  8. SVM高斯核为何会将特征映射到无穷维?【转载】
  9. extjs store快速创建的几种方式
  10. Shiro权限管理框架详解