做个笔记
最简单的socket 要与物流网的传感器交换数据
登录分为用户登录 与 设备登录
1、用户登录 (SSLSOCKET)
{“M”:“login”,“ID”:“xx1”,“K”:“xx2”}\n //json格式
最简单的SSLSocket 基本测试可用
public class net {
public static void main(String[] args) throws InterruptedException, NoSuchAlgorithmException,
KeyManagementException, UnknownHostException, IOException {
X509TrustManager x509m = new X509TrustManager() {
@Override
public X509Certificate[] getAcceptedIssuers() {
return null;
}
@Override
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
};
SSLContext s = SSLContext.getInstance("SSL");
s.init(null, new TrustManager[] { x509m }, new java.security.SecureRandom());
SSLSocketFactory factory = s.getSocketFactory();
SSLSocket socket = (SSLSocket) factory.createSocket("www.bigiot.net", 8585);
OutputStreamWriter out = new OutputStreamWriter(socket.getOutputStream());
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
System.out.println("内容为:" + in.readLine());
out.write(("{\"M\":\"login\",\"ID\":\"xxx\",\"K\":\"xxx\"}\n"));
out.flush();
System.out.println("内容为:" + in.readLine());
while (true) {
System.out.println("内容为:" + in.readLine());
}
}
}
1、设备登录 模拟传感器(SOCKET)
{“M”:“checkin”,“ID”:“xx1”,“K”:“xx2”}\n //json格式
public class net {
public static void main(String[] args) {
int key = 1;
try {
Socket socket = new Socket("www.bigiot.net", 8181);
OutputStreamWriter out = new OutputStreamWriter(socket.getOutputStream());
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
while (key == 1) {
Scanner input = new Scanner(System.in);
System.out.println("输入命令, 按下回车键。");
int ss = input.nextInt();
if (socket.isConnected()) {
switch (ss) {
case 1:
break;
case 2:
out.write(("{\"M\":\"checkin\",\"ID\":\"xxx\",\"K\":\"xxxxx\"}\n"));break;
case 3:
out.write("{\"M\":\"status\"}\n");break;
case 4:
out.write("{\"M\":\"update\",\"ID\":\"xxxx\",\"V\":{\"17435\":\"35\"}}\n");break;
case 5:
key = 0;
input.close();
socket.close();
System.out.println("关闭客户端");
break;
}
}
out.flush();
System.out.println("内容为:" + in.readLine());
}
}
catch (IOException e) {
e.printStackTrace();
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)