客户端
package com.inetTes01; /* 客户端:发送数据,接收服务器反馈 */ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; public class ClientDemo { public static void main(String[] args) throws IOException { //创建客户端的Socket对象(Socket) Socket s = new Socket("192.168.18.6", 10000); //获取输出流,写数据 OutputStream os = s.getOutputStream(); os.write("你好吗,我来了服务器端".getBytes()); // 接收服务器反馈,相当于读取数据 InputStream is = s.getInputStream(); byte[] bys = new byte[1024]; int len = is.read(bys); System.out.println("客户端:" + new String(bys, 0, len)); //释放资源 因为is,os 都是通过s得到的不需要再释放 s.close(); } }
服务器
package com.inetTes01; /* 接收数据,给出反馈 */ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; public class ServerDemo { public static void main(String[] args) throws IOException { //创建服务器端的Socket对象(ServerSocket) ServerSocket ss = new ServerSocket(10000); //获取输入流,读数据 // ServerSocket类下的 accept() 侦听要连接到此套接字并接受它。 Socket s = ss.accept(); // 获取输入流 InputStream is = s.getInputStream(); // 读数据 byte[] bys = new byte[1024]; int len = is.read(bys); System.out.println("服务器" + new String(bys, 0, len)); //给出反馈,相当于写数据 OutputStream os = s.getOutputStream(); os.write("数据已经收到".getBytes()); //释放资源 ss.close(); } }