package com.engine.util;
import weaver.general.BaseBean;
import weaver.general.StringUtil;
import java.io.*;
import java.net.Socket;
import java.nio.charset.StandardCharsets;
//发送SocketUtil
public class SocketClientUtil {
private int port = 8090;
private String host = "14.1.209.146";
// private BaseBean bs = new BaseBean();
public SocketClientUtil(String host ,int port) {
this.port = port;
this.host = host;
}
public String send(String request) throws Exception {
// bs.writeLog("Client Start...");
Socket socket = null;
try {
//创建一个流套接字并将其连接到指定主机上的指定端口号
socket = new Socket(host,port);
// String str = "000006121010157060000081243025801570102311000120230905104426true500130004130157202309050600000812430todogetCountuserNum10913026任广鹏是个大刷币";
// System.out.println(str);
//读取服务器端数据
BufferedReader input = new BufferedReader(new InputStreamReader(socket.getInputStream(), StandardCharsets.UTF_8));
//向服务器端发送数据
// PrintStream out = new PrintStream(new OutputStreamWriter(socket.getOutputStream(),StandardCharsets.UTF_8));
PrintWriter out = new PrintWriter(new OutputStreamWriter(socket.getOutputStream(),StandardCharsets.UTF_8),true);
out.println(request);
char[] datalen=new char[8];//报文前八位为报文体总长度
input.read(datalen,0,8);
String lendata=new String (datalen);
System.out.println(lendata);
int length=Integer.parseInt(lendata);
// new BaseBean().writeLog("报文长度"+length);
char[] data=new char[length];
int datalength = input.read(data,0,length);
String requestData = new String(data);
// new BaseBean().writeLog("requestData",requestData);
// String ret = input.readLine();
System.out.println("服务器端返回过来的是: " + requestData);
// bs.writeLog("服务器端返回过来的是: " + requestData);
// 如接收到 "OK" 则断开连接
if (!StringUtil.isEmpty(requestData)) {
// bs.writeLog("客户端将关闭连接");
// System.out.println("客户端将关闭连接: " + requestData);
Thread.sleep(500);
}
out.close();
input.close();
return requestData;
} catch (Exception e) {
System.out.println("客户端异常:" + e.getMessage());
throw e;
} finally {
if (socket != null) {
try {
socket.close();
} catch (IOException e) {
socket = null;
// bs.writeLog("客户端 finally 异常:" + e.getMessage());
}
}
}
// return "-1";
}
static class UpdateLogThread extends Thread {
@Override
public void run() {
try {
Thread.sleep(3000);
System.out.println("33333333");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) throws Exception {
for (int i = 0; i < 5000; i++) {
new Thread(){
@Override
public void run(){
SocketClientUtil socket = new SocketClientUtil("14.1.209.146", 8090);
try {
socket.send("000005971010157060000065445025801570102311000120240315092648true500130004120157202403150600000654450todogetCount2userNum10110047");
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
}
public static String cece(){
System.out.println("1111");
UpdateLogThread updateLogThread = new UpdateLogThread();
updateLogThread.start();
return "222";
}
}