netty client 2023年2月27日14:45:16
parent
d21890a5f8
commit
8d8b61fbaf
|
|
@ -1,36 +1,20 @@
|
||||||
package com.zhangmeng.tools.controller;
|
package com.zhangmeng.tools.controller;
|
||||||
|
|
||||||
import com.zhangmeng.tools.netty.Message;
|
|
||||||
import com.zhangmeng.tools.netty.NettyClient;
|
import com.zhangmeng.tools.netty.NettyClient;
|
||||||
import com.zhangmeng.tools.utils.AlertUtils;
|
import com.zhangmeng.tools.utils.AlertUtils;
|
||||||
import com.zhangmeng.tools.utils.ExecutorUtils;
|
|
||||||
import com.zhangmeng.tools.utils.Multithreading;
|
|
||||||
import io.netty.bootstrap.Bootstrap;
|
|
||||||
import io.netty.channel.*;
|
|
||||||
import io.netty.channel.nio.NioEventLoopGroup;
|
|
||||||
import io.netty.channel.socket.SocketChannel;
|
|
||||||
import io.netty.channel.socket.nio.NioSocketChannel;
|
|
||||||
import io.netty.handler.codec.string.StringEncoder;
|
|
||||||
import javafx.application.Platform;
|
import javafx.application.Platform;
|
||||||
import javafx.beans.property.SimpleObjectProperty;
|
|
||||||
import javafx.beans.value.ChangeListener;
|
|
||||||
import javafx.beans.value.ObservableValue;
|
|
||||||
import javafx.collections.FXCollections;
|
import javafx.collections.FXCollections;
|
||||||
import javafx.collections.ListChangeListener;
|
import javafx.collections.ListChangeListener;
|
||||||
import javafx.collections.ObservableList;
|
import javafx.collections.ObservableList;
|
||||||
import javafx.fxml.FXML;
|
import javafx.fxml.FXML;
|
||||||
import javafx.geometry.Pos;
|
import javafx.geometry.Pos;
|
||||||
import javafx.scene.control.*;
|
import javafx.scene.control.*;
|
||||||
import javafx.scene.control.cell.TextFieldListCell;
|
|
||||||
import javafx.scene.layout.HBox;
|
import javafx.scene.layout.HBox;
|
||||||
import javafx.util.Callback;
|
import javafx.util.Callback;
|
||||||
import javafx.util.StringConverter;
|
import javafx.util.StringConverter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author : 芊芊墨客
|
* @author : 芊芊墨客
|
||||||
|
|
@ -124,12 +108,15 @@ public class NettyClientController {
|
||||||
@FXML
|
@FXML
|
||||||
public void initialize() {
|
public void initialize() {
|
||||||
message_result_list.addListener((ListChangeListener<String>) c -> {
|
message_result_list.addListener((ListChangeListener<String>) c -> {
|
||||||
if (c.wasAdded()) {
|
|
||||||
StringBuilder stringBuilder = new StringBuilder();
|
while (c.next()) {
|
||||||
for (String s : message_result_list) {
|
if (c.wasAdded()) {
|
||||||
stringBuilder.append(s);
|
StringBuilder stringBuilder = new StringBuilder();
|
||||||
|
for (String s : message_result_list) {
|
||||||
|
stringBuilder.append(s);
|
||||||
|
}
|
||||||
|
receive(stringBuilder.toString());
|
||||||
}
|
}
|
||||||
receive(stringBuilder.toString());
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -186,34 +173,35 @@ public class NettyClientController {
|
||||||
|
|
||||||
String msg = send_msg.getText();
|
String msg = send_msg.getText();
|
||||||
|
|
||||||
Multithreading.execute(() -> {
|
// Multithreading.execute(() -> {
|
||||||
if (nettyClient == null){
|
// if (nettyClient == null){
|
||||||
this.nettyClient = NettyClient.getInstance();
|
// this.nettyClient = NettyClient.getInstance();
|
||||||
this.nettyClient.setPort(socket_port);
|
// this.nettyClient.setPort(socket_port);
|
||||||
this.nettyClient.setIp(socket_address);
|
// this.nettyClient.setIp(socket_address);
|
||||||
StringBuilder params = new StringBuilder();
|
// StringBuilder params = new StringBuilder();
|
||||||
for (Data data : list) {
|
// for (Data data : list) {
|
||||||
if (params.toString().equals("")){
|
// if (params.toString().equals("")){
|
||||||
params.append(data.key).append("=").append(data.value);
|
// params.append(data.key).append("=").append(data.value);
|
||||||
}else {
|
// }else {
|
||||||
params.append("&").append(data.key).append("=").append(data.value);
|
// params.append("&").append(data.key).append("=").append(data.value);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
this.nettyClient.setParams(params.toString());
|
// this.nettyClient.setParams(params.toString());
|
||||||
log.info("params:{}",params.toString());
|
// log.info("params:{}",params.toString());
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// 让客户端后台懒启动。避免先于服务端启动而引发异常
|
// // 让客户端后台懒启动。避免先于服务端启动而引发异常
|
||||||
if (!isStarted) {
|
// if (!isStarted) {
|
||||||
this.nettyClient.start();
|
// this.nettyClient.start();
|
||||||
isStarted = true;
|
// isStarted = true;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
Platform.runLater(() -> {
|
// Platform.runLater(() -> {
|
||||||
this.nettyClient.send(msg);
|
// this.nettyClient.send(msg);
|
||||||
});
|
// });
|
||||||
add_message(msg);
|
// add_message(msg);
|
||||||
});
|
// });
|
||||||
|
add_message(msg);
|
||||||
|
|
||||||
this.send_msg.requestFocus();
|
this.send_msg.requestFocus();
|
||||||
this.send_msg.clear(); // TODO
|
this.send_msg.clear(); // TODO
|
||||||
|
|
@ -223,7 +211,7 @@ public class NettyClientController {
|
||||||
|
|
||||||
public void receive(String msg) {
|
public void receive(String msg) {
|
||||||
Platform.runLater(() -> {
|
Platform.runLater(() -> {
|
||||||
this.result_show.appendText(msg);
|
this.result_show.setText(msg);
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue