Skip to content

Commit 700de67

Browse files
Added the echo effect for the IRC
1 parent 54cfca1 commit 700de67

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed

netty-server/src/main/java/de/zeus/server/ExampleServer.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,13 @@
1111
*/
1212
public class ExampleServer {
1313

14+
public static NettyServer server;
15+
1416
/**
1517
* The main method
1618
*/
1719
public static void main(String[] args) {
18-
NettyServer server = new NettyServer();
20+
server = new NettyServer();
1921
Scanner scanner = new Scanner(System.in);
2022

2123
System.out.println("Enter the port to start the server on: ");

netty-server/src/main/java/de/zeus/server/NettyServer.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,18 @@ public void sendMessage(String message) {
108108
System.out.println("Sent message: " + message);
109109
}
110110

111+
/**
112+
* Sends a message to a specific client
113+
*
114+
* @param message the message to send
115+
* @param channel the channel to send the message to
116+
*/
117+
public void sendMessageFor(String message, Channel channel) {
118+
if(channel != null && channel.isOpen()) {
119+
channel.writeAndFlush(Unpooled.wrappedBuffer(message.getBytes()));
120+
}
121+
}
122+
111123
public NioEventLoopGroup getNioEventLoopGroup() {
112124
return nioEventLoopGroup;
113125
}

netty-server/src/main/java/de/zeus/server/netty/ChannelReader.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package de.zeus.server.netty;
22

3+
import de.zeus.server.ExampleServer;
34
import de.zeus.server.NettyServer;
45
import io.netty.buffer.ByteBuf;
56
import io.netty.channel.ChannelHandlerContext;
@@ -31,6 +32,7 @@ protected void channelRead0(ChannelHandlerContext channel, Object object) throws
3132
String message = ((ByteBuf) object).toString(Charset.defaultCharset());
3233
System.out.println("Received Message: " + message);
3334

35+
nettyServer.getRegisteredChannels().stream().filter(e -> e != channel.channel()).forEach(e -> ExampleServer.server.sendMessageFor(message, e));
3436
nettyServer.getMessageReceivedListeners().forEach(listener -> listener.onMessageReceived(message));
3537
}
3638

0 commit comments

Comments
 (0)