服务端:监听端口,负责处理链接请求,业务处理,返回结果给客户端socket
public class Server { private static String s = "Hello World!"; static byte[] result = new byte[1024]; public static void main(String[] args) throws Exception { //1.服务端绑定端口,创建监听 ServerSocket serverSocket = new ServerSocket(8080); //2.不断轮询,获取新的请求 while(true){ //3.accept接受链接,并阻塞获取链接 Socket socket = serverSocket.accept(); //4.读取客户端链接中,传输过来的数据 socket.getInputStream().read(result); System.out.println("接受到客户端数据:" + new String(result)); //5.业务逻辑处理,写回数据到socket链接中 socket.getOutputStream().write(s.getBytes()); } } }
客户端:经过IP和端口信息,与服务端创建链接,发送数据给服务端,接受服务端业务处理结果server
public class Client { static String s = "我是客户端1"; static byte[] result = new byte[1024]; public static void main(String[] args) throws Exception{ //1.客户端创建绑定,并创建链接 Socket socket = new Socket("192.168.0.156", 8080); //2.客户端发送数据给服务端 socket.getOutputStream().write( s.getBytes()); System.out.println("发送数据到服务端:" + s); //3.客户端从socket读取,服务端业务处理结果 SocketAddress socketAddress = socket.getLocalSocketAddress(); InputStream in = socket.getInputStream(); in.read(result); System.out.println("接收服务数据:" + new String(result)); } }