Client
public class Client {
public static void main(String[] args) throws Exception{
Socket socket = new Socket("127.0.0.1",9999);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
OutputStream os = socket.getOutputStream();
new Thread(() -> {
while (true) {
try {
String s = br.readLine();
byte[] bytes = s.getBytes();
os.write(bytes,0,bytes.length);
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
InputStream is = socket.getInputStream();
new Thread(() -> {
while (true) {
try {
int len;
byte[] b = new byte[1024];
len = is.read(b);
System.out.println("127.0.0.1 : " + new String(b,0,len));
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
}
Server
public class Service {
public static void main(String[] args) throws Exception{
ServerSocket server = new ServerSocket(9999);
Socket socket = server.accept();
InputStream is = socket.getInputStream();
String ip = socket.getInetAddress().getHostAddress();
new Thread(() -> {
while (true) {
try {
int len;
byte[] b = new byte[1024];
len = is.read(b);
System.out.println(ip + ": " + new String(b,0,len));
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
OutputStream os = socket.getOutputStream();
new Thread(() -> {
while (true) {
try {
String s = br.readLine();
byte[] bytes = s.getBytes();
os.write(bytes,0,bytes.length);
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
}