From 8d8b61fbaf02fe15a443f60837374da5582a101d Mon Sep 17 00:00:00 2001 From: zhangmeng <1334717033@qq.com> Date: Mon, 27 Feb 2023 14:46:21 +0800 Subject: [PATCH] =?UTF-8?q?netty=20client=202023=E5=B9=B42=E6=9C=8827?= =?UTF-8?q?=E6=97=A514:45:16?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/NettyClientController.java | 90 ++++++++----------- 1 file changed, 39 insertions(+), 51 deletions(-) diff --git a/src/main/java/com/zhangmeng/tools/controller/NettyClientController.java b/src/main/java/com/zhangmeng/tools/controller/NettyClientController.java index 2e881d3..c927034 100644 --- a/src/main/java/com/zhangmeng/tools/controller/NettyClientController.java +++ b/src/main/java/com/zhangmeng/tools/controller/NettyClientController.java @@ -1,36 +1,20 @@ package com.zhangmeng.tools.controller; -import com.zhangmeng.tools.netty.Message; import com.zhangmeng.tools.netty.NettyClient; 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.beans.property.SimpleObjectProperty; -import javafx.beans.value.ChangeListener; -import javafx.beans.value.ObservableValue; import javafx.collections.FXCollections; import javafx.collections.ListChangeListener; import javafx.collections.ObservableList; import javafx.fxml.FXML; import javafx.geometry.Pos; import javafx.scene.control.*; -import javafx.scene.control.cell.TextFieldListCell; import javafx.scene.layout.HBox; import javafx.util.Callback; import javafx.util.StringConverter; import lombok.extern.slf4j.Slf4j; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; + /** * @author : 芊芊墨客 @@ -124,12 +108,15 @@ public class NettyClientController { @FXML public void initialize() { message_result_list.addListener((ListChangeListener) c -> { - if (c.wasAdded()) { - StringBuilder stringBuilder = new StringBuilder(); - for (String s : message_result_list) { - stringBuilder.append(s); + + while (c.next()) { + if (c.wasAdded()) { + 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(); - Multithreading.execute(() -> { - if (nettyClient == null){ - this.nettyClient = NettyClient.getInstance(); - this.nettyClient.setPort(socket_port); - this.nettyClient.setIp(socket_address); - StringBuilder params = new StringBuilder(); - for (Data data : list) { - if (params.toString().equals("")){ - params.append(data.key).append("=").append(data.value); - }else { - params.append("&").append(data.key).append("=").append(data.value); - } - } - this.nettyClient.setParams(params.toString()); - log.info("params:{}",params.toString()); - } - - // 让客户端后台懒启动。避免先于服务端启动而引发异常 - if (!isStarted) { - this.nettyClient.start(); - isStarted = true; - } - - Platform.runLater(() -> { - this.nettyClient.send(msg); - }); - add_message(msg); - }); +// Multithreading.execute(() -> { +// if (nettyClient == null){ +// this.nettyClient = NettyClient.getInstance(); +// this.nettyClient.setPort(socket_port); +// this.nettyClient.setIp(socket_address); +// StringBuilder params = new StringBuilder(); +// for (Data data : list) { +// if (params.toString().equals("")){ +// params.append(data.key).append("=").append(data.value); +// }else { +// params.append("&").append(data.key).append("=").append(data.value); +// } +// } +// this.nettyClient.setParams(params.toString()); +// log.info("params:{}",params.toString()); +// } +// +// // 让客户端后台懒启动。避免先于服务端启动而引发异常 +// if (!isStarted) { +// this.nettyClient.start(); +// isStarted = true; +// } +// +// Platform.runLater(() -> { +// this.nettyClient.send(msg); +// }); +// add_message(msg); +// }); + add_message(msg); this.send_msg.requestFocus(); this.send_msg.clear(); // TODO @@ -223,7 +211,7 @@ public class NettyClientController { public void receive(String msg) { Platform.runLater(() -> { - this.result_show.appendText(msg); + this.result_show.setText(msg); }); }