Skip to content

Commit 905d695

Browse files
author
magiclu550
committed
create client
1 parent 718bd5a commit 905d695

File tree

12 files changed

+99
-39
lines changed

12 files changed

+99
-39
lines changed

.idea/misc.xml

Lines changed: 2 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

panel-client.iml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
3-
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_5">
3+
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
44
<output url="file://$MODULE_DIR$/target/classes" />
55
<output-test url="file://$MODULE_DIR$/target/test-classes" />
66
<content url="file://$MODULE_DIR$">

src/main/java/cn.jsmod2.client.panel/JsonRequester.java

Lines changed: 0 additions & 20 deletions
This file was deleted.

src/main/java/cn.jsmod2.client.panel/Client.java renamed to src/main/java/cn/jsmod2/client/Client.java

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,24 @@
1-
package cn.jsmod2.client.panel;
1+
package cn.jsmod2.client;
22

3+
import com.alibaba.fastjson.JSON;
34
import io.netty.bootstrap.Bootstrap;
45
import io.netty.channel.ChannelFuture;
56
import io.netty.channel.EventLoopGroup;
67
import io.netty.channel.nio.NioEventLoopGroup;
78
import io.netty.channel.socket.nio.NioSocketChannel;
89

10+
import java.util.HashMap;
911
import java.util.concurrent.CountDownLatch;
1012

1113
public class Client {
1214
private static class SingletonHolder {
1315
static final Client instance = new Client();
1416
}
17+
18+
public String ipAddress;
19+
20+
public int port;
21+
1522
public static Client getInstance(){
1623
return SingletonHolder.instance;
1724
}
@@ -29,22 +36,21 @@ private Client(){
2936
.channel(NioSocketChannel.class)
3037
.handler(clientInitializer);
3138
}
32-
public void connect(){
39+
public void connect(String ip,int port){
3340
//192.168.43.51测试端口8766 192.168.43.102 线上端口8765
3441
try {
35-
this.cf = b.connect("127.0.01", 8888).sync();
36-
System.out.println("远程服务器已经连接, 可以进行数据交换..");
42+
this.cf = b.connect(ip, port).sync();
3743
} catch (InterruptedException e) {
3844
e.printStackTrace();
3945
} finally {
4046
}
4147
}
42-
public ChannelFuture getChannelFuture(){
48+
public ChannelFuture getChannelFuture(String ip,int port){
4349
if(this.cf == null) {
44-
this.connect();
50+
this.connect(ip,port);
4551
}
4652
if(!this.cf.channel().isActive()){
47-
this.connect();
53+
this.connect(ip,port);
4854
}
4955
return this.cf;
5056
}
@@ -57,8 +63,17 @@ public void close(){
5763
}
5864
}
5965
public String setMessage(String msg) {
66+
if(ipAddress == null){
67+
return JSON.toJSONString(new HashMap<String,String>(){
68+
{
69+
put("status","500");
70+
put("message","unknown ipAddress");
71+
put("value","null");
72+
}
73+
});
74+
}
6075
try {
61-
ChannelFuture cf = getInstance().getChannelFuture();//单例模式获取ChannelFuture对象
76+
ChannelFuture cf = getInstance().getChannelFuture(ipAddress,port);//单例模式获取ChannelFuture对象
6277
cf.channel().writeAndFlush(msg);
6378
//发送数据控制门闩加一
6479
lathc = new CountDownLatch(1);
@@ -72,4 +87,5 @@ public String setMessage(String msg) {
7287
}
7388

7489

90+
7591
}

src/main/java/cn.jsmod2.client.panel/ClientHandler.java renamed to src/main/java/cn/jsmod2/client/ClientHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cn.jsmod2.client.panel;
1+
package cn.jsmod2.client;
22

33
import io.netty.channel.ChannelHandlerAdapter;
44
import io.netty.channel.ChannelHandlerContext;

src/main/java/cn.jsmod2.client.panel/ClientInitializer.java renamed to src/main/java/cn/jsmod2/client/ClientInitializer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cn.jsmod2.client.panel;
1+
package cn.jsmod2.client;
22

33
import io.netty.channel.ChannelInitializer;
44
import io.netty.channel.socket.SocketChannel;

src/main/java/cn.jsmod2.client.panel/ConsoleOutputStream.java renamed to src/main/java/cn/jsmod2/client/ConsoleOutputStream.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cn.jsmod2.client.panel;
1+
package cn.jsmod2.client;
22

33
import javafx.collections.ObservableList;
44
import javafx.scene.control.TextArea;
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package cn.jsmod2.client;
2+
3+
import com.alibaba.fastjson.JSON;
4+
5+
import java.util.HashMap;
6+
import java.util.Map;
7+
8+
public class JsonRequester {
9+
10+
private Map<String,String> map = new HashMap<String, String>();
11+
12+
public JsonRequester append(String key,String value){
13+
map.put(key,value);
14+
return this;
15+
}
16+
17+
public String toJSON(){
18+
return JSON.toJSONString(map);
19+
}
20+
21+
@SuppressWarnings("unchecked")
22+
public Response sendOut(){
23+
HashMap<String,String> map = JSON.parseObject(Client.getInstance().setMessage(toJSON()),HashMap.class);
24+
Response response = new Response();
25+
response.setMessage(map.get("message"));
26+
response.setValue(map.get("value"));
27+
response.setStatus(map.get("status"));
28+
return response;
29+
}
30+
}
31+

src/main/java/cn.jsmod2.client.panel/Main.java renamed to src/main/java/cn/jsmod2/client/Main.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package cn.jsmod2.client.panel;
1+
package cn.jsmod2.client;
22

33
import javafx.application.Application;
44
import javafx.fxml.FXMLLoader;
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package cn.jsmod2.client;
2+
3+
public class Response {
4+
5+
private String value;
6+
7+
private String status;
8+
9+
private String message;
10+
11+
public String getValue() {
12+
return value;
13+
}
14+
15+
public void setValue(String value) {
16+
this.value = value;
17+
}
18+
19+
public String getStatus() {
20+
return status;
21+
}
22+
23+
public void setStatus(String status) {
24+
this.status = status;
25+
}
26+
27+
public String getMessage() {
28+
return message;
29+
}
30+
31+
public void setMessage(String message) {
32+
this.message = message;
33+
}
34+
}

0 commit comments

Comments
 (0)