So this is just basic Client and Server which communicates with each other by sending strings.
Can be used for pretty much anything. It could be bones for multiplayer game.
Added hello message for testing. Have fun.
BIG THANKS TO COLBY.
Server:
Code:
import java.net.ServerSocket;
import java.net.Socket;
import java.io.BufferedReader;
import java.io.PrintWriter;
import java.io.InputStreamReader;
/**
* Basic server.
* @author Klepto
**/
public class Server {
/**
* ServerSocket instance.
**/
private static ServerSocket serverSocket;
/**
* Client's Socket instance.
**/
private static Socket client;
/**
* BufferedReader instance.
**/
private static BufferedReader dataReader;
/**
* PrintWriter instance.
**/
private static PrintWriter dataWriter;
/**
* Last received data.
**/
private static String str;
/**
* Starts the server.
**/
public static void main(String[] args) {
try {
/**
* Starting server.
**/
serverSocket = new ServerSocket(5555);
while(true) {
/**
* Waiting for Client to connect.
**/
System.out.println("Waiting for Client.");
try {
client = serverSocket.accept();
/**
* Creating dataReader and dataWriter.
**/
dataReader = new BufferedReader(new InputStreamReader(client.getInputStream()));
dataWriter = new PrintWriter(client.getOutputStream(), true);
/**
* Reading data.
**/
while((str = dataReader.readLine()) != null) {
System.out.println("From Client: "+str);
if(str.contains("Hello")) {
String[] name = str.split(" it's ");
writeData("Welcome "+name[1]);
}
}
} catch(Exception e) {
/**
* e.printStackTrace();
**/
} finally {
try {
if(client != null) {
client.close();
client = null;
}
} catch(Exception e) {
/**
* e.printStackTrace();
**/
}
System.out.println("Client disconnected.");
}
}
} catch(Exception e) {
/**
* e.printStackTrace();
**/
}
}
/**
* Writes data to Client.
**/
public static void writeData(String data) {
if(client != null && dataWriter != null) {
System.out.println("To Client: "+data);
dataWriter.println(data);
}
}
}
Client:
Code:
import java.net.Socket;
import java.io.PrintWriter;
import java.io.BufferedReader;
import java.io.InputStreamReader;
/**
* Basic client.
* @author Klepto
**/
public class Client {
/**
* Socket instance.
**/
private static Socket server;
/**
* BufferedReader instance.
**/
private static BufferedReader dataReader;
/**
* PrintWriter instance.
**/
private static PrintWriter dataWriter;
/**
* Last received data.
**/
private static String str;
/**
* Connects to server.
**/
public static void main(String[] args) {
try {
/**
* Connecting to server.
**/
server = new Socket("localhost", 5555);
/**
* Creating dataReader and dataWriter.
**/
dataReader = new BufferedReader(new InputStreamReader(server.getInputStream()));
dataWriter = new PrintWriter(server.getOutputStream(), true);
/**
* Sending hello message to server.
**/
writeData("Hello, it's Basic Client.");
/**
* Reading data.
**/
try {
while((str = dataReader.readLine()) != null) {
System.out.println("From Server: "+str);
}
} catch(Exception e) {
try {
if(server != null) {
server.close();
server = null;
}
} catch(Exception ex) {
/**
* ex.printStackTrace();
**/
}
System.out.println("Disconnected.");
System.exit(0);
} finally {
try {
if(server != null) {
server.close();
server = null;
}
} catch(Exception e) {
/**
* e.printStackTrace();
**/
}
System.out.println("Disconnected.");
System.exit(0);
}
} catch(Exception e) {
e.printStackTrace();
}
}
/**
* Writes data to Server.
**/
public static void writeData(String data) {
if(server != null && dataWriter != null) {
System.out.println("To Server: "+data);
dataWriter.println(data);
}
}
}