话不多说上代码
服务端
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
public class TCPServer {
public static void main(String[] args) throws IOException {
ServerSocket ss = null;
ss = new ServerSocket(9999);
boolean flag = true;
while (flag) {
try {
Socket s = ss.accept();
InputStream in = s.getInputStream();
byte[] buf = new byte[1024];
int len = in.read(buf);
String data = new String(buf, 0, len);
System.err.println(data);
if (data.equals("关闭")) {
flag = false;
s.close();
ss.close();
} else {
OutputStream outputStream = s.getOutputStream();
outputStream.write("我收到你的消息正在回复".getBytes());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
客户端
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.util.Scanner;
public class TCPClient implements Runnable {
OutputStream outputStream = null;
boolean flag = true;
public void run() {
while (flag) {
try {
Socket ss = new Socket("192.168.3.3", 9999);
Scanner sc = new Scanner(System.in);
System.err.println("输入消息");
String string = sc.nextLine();
if (string.equals("关闭")) {
flag = false;
}
outputStream = ss.getOutputStream();
outputStream.write(string.getBytes());
InputStream in = ss.getInputStream();
byte[] buf = new byte[1024];
int i = in.read(buf);
if(i!=-1){
String s = new String(buf, 0, i);
System.err.println(s);
}else {
System.err.println("已关闭连接");
}
outputStream.close();
ss.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
测试类
public class Test {
public static void main(String[] args) {
new Thread(new TCPClient()).start();
}
}