Found this and have been using this in a few applications I made. Useful library, its a year old however its open source as well.
Here's the original link.
GNetLib.jar
GNetLib V0.0.0.3 (A Simple Java Networking Library) - Java-Gaming.org
Source
http://www.mediafire.com/download/1c...Lib+Source.zip
Extremely easy to use. Here's its usage.
Server
Code:
package com.main;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.gnet.packet.Packet;
import org.gnet.server.ClientModel;
import org.gnet.server.GNetServer;
import org.gnet.server.ServerEventListener;
public class Server {
private static final Logger logger = Logger.getLogger(Server.class.getName());
public static void main(String[] args) {
final String host = "localhost";
final int port = 43594;
final GNetServer netserver = new GNetServer(host, port);
netserver.addEventListener(new ServerEventListener() {
@Override
protected void clientConnected(ClientModel e) {
System.out.println("Client has connected " + e.getUuid());
}
@Override
protected void clientDisconnected(ClientModel arg0) {
// TODO Auto-generated method stub
}
@Override
protected void debugMessage(String arg0) {
// TODO Auto-generated method stub
}
@Override
protected void errorMessage(String arg0) {
// TODO Auto-generated method stub
}
@Override
protected void packetReceived(ClientModel client, Packet packet) {
/**
* This is just a sample packet I created to show it works.
*/
if(packet.getPacketName().equals("LoginPacket")) {
String name = (String) packet.getEntry("playerName");
String password = (String) packet.getEntry("playerPassword");
System.out.println(name + " " + password);
}
}
});
netserver.enableServerMonitor();
netserver.bind();
netserver.start();
logger.log(Level.INFO, "Server Online on port" + port);
}
}
Code:
package com.main;
import org.gnet.packet.Packet;
public class LoginPacket extends Packet {
public LoginPacket(String name, String password) {
super("LoginPacket", 2);
addEntry("playerName", name);
addEntry("playerPassword", password);
}
}
Client
Code:
package com.main;
import javax.swing.JOptionPane;
import org.gnet.client.ClientEventListener;
import org.gnet.client.GNetClient;
import org.gnet.client.ServerModel;
import org.gnet.packet.Packet;
public class Client {
public static void main(String[] args) {
final String host = "localhost";
final int port = 43594;
GNetClient netclient = new GNetClient(host, port);
netclient.addEventListener(new ClientEventListener() {
@Override
protected void clientConnected(ServerModel server) {
String name = JOptionPane.showInputDialog("What is your name?");
String password = JOptionPane.showInputDialog("What do you want your password to be?");
System.out.println("Sending login packet to server");
LoginPacket login = new LoginPacket(name, password);
server.sendPacket(login);
}
@Override
protected void clientDisconnected(ServerModel arg0) {
// TODO Auto-generated method stub
}
@Override
protected void debugMessage(String arg0) {
// TODO Auto-generated method stub
}
@Override
protected void errorMessage(String arg0) {
// TODO Auto-generated method stub
}
@Override
protected void packetReceived(ServerModel arg0, Packet arg1) {
// TODO Auto-generated method stub
}
});
netclient.bind();
netclient.start();
}
}
Code:
package com.main;
import org.gnet.packet.Packet;
public class LoginPacket extends Packet {
public LoginPacket(String name, String password) {
super("LoginPacket", 2);
addEntry("playerName", name);
addEntry("playerPassword", password);
}
}
Credits: TehJavaDev