forked from sacOO7/socketcluster-client-java
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMain.java
More file actions
165 lines (135 loc) · 4.97 KB
/
Copy pathMain.java
File metadata and controls
165 lines (135 loc) · 4.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
import com.neovisionaries.ws.client.WebSocketException;
import com.neovisionaries.ws.client.WebSocketFrame;
import io.github.sac.*;
import java.util.List;
import java.util.Map;
/**
* Created by sachin on 8/11/16.
*/
public class Main {
public static String url="ws://localhost:8000/socketcluster/";
public static void main(String arg[]) {
Socket socket = new Socket(url);
socket.setListener(new BasicListener() {
public void onConnected(Socket socket,Map<String, List<String>> headers) {
System.out.println("Connected to endpoint");
}
public void onDisconnected(Socket socket,WebSocketFrame serverCloseFrame, WebSocketFrame clientCloseFrame, boolean closedByServer) {
System.out.println("Disconnected from end-point");
}
public void onConnectError(Socket socket,WebSocketException exception) {
System.out.println("Got connect error "+ exception);
}
public void onSetAuthToken(String token, Socket socket) {
System.out.println("Set auth token got called");
socket.setAuthToken(token);
}
public void onAuthentication(Socket socket,Boolean status) {
if (status) {
System.out.println("socket is authenticated");
} else {
System.out.println("Authentication is required (optional)");
}
}
});
socket.setReconnection(new ReconnectStrategy().setDelay(3000).setMaxAttempts(10)); //Connect after each 2 seconds for 30 times
socket.connectAsync();
socket.disableLogging();
socket.emit("chat","Hi");
socket.emit("chat", "Hi", new Ack() {
@Override
public void call(String eventName, Object error, Object data) {
System.out.println("Got message for :"+eventName+" error is :"+error+" data is :"+data);
}
});
socket.on("yell", new Emitter.Listener() {
@Override
public void call(String eventName, Object data) {
System.out.println("Got message for :"+eventName+" data is :"+data);
}
});
socket.on("yell", new Emitter.AckListener() {
@Override
public void call(String eventName, Object data, Ack ack) {
System.out.println("Got message for :"+eventName+" data is :"+data);
//sending ack back
ack.call(eventName,"This is error","This is data");
}
});
//
//
Socket.Channel channel = socket.createChannel("yell");
//
channel.subscribe(new Ack() {
@Override
public void call(String channelName, Object error, Object data) {
if (error==null){
System.out.println("Subscribed to channel "+channelName+" successfully");
}
}
});
channel.publish("Hi sachin", new Ack() {
@Override
public void call(String channelName, Object error, Object data) {
if (error==null){
System.out.println("Published message to channel "+channelName+" successfully");
}
}
});
channel.onMessage(new Emitter.Listener() {
@Override
public void call(String channelName, Object data) {
System.out.println("Got message for channel "+channelName+" data is "+data);
}
});
channel.unsubscribe(new Ack() {
@Override
public void call(String name, Object error, Object data) {
System.out.println("Unsubscribed successfully");
}
});
channel.unsubscribe();
// channel.subscribe(new Ack() {
// @Override
// public void call(String name, Object error, Object data) {
//
// }
// });
////
// channel.onMessage(new Emitter.Listener() {
// public void call(Object object) {
// System.out.println("got message " + object);
// }
// });
//
//
//
// socket.on("chat", new Emitter.Listener() {
// public void call(Object object) {
// System.out.println("Got echo event :: " + object);
// }
// });
//
//
//
// socket.emit("chat", "hi", new Ack() {
// public void call(Object error, Object data) {
//
// }
// });
//
//
//
// while (true) {
// Scanner scanner = new Scanner(System.in);
//
// channel.publish(scanner.nextLine(), new Ack() {
// public void call(Object error, Object data) {
// if (error == null) {
// System.out.println("Publish sent successfully");
// }
// }
// });
// }
}
}