实现了客户端传给服务器端一个字符串,服务器端接收到之后在控制台打印出字符串的长度
客户端代码:
import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; public class Client { public static void main(String[] args) throws IOException { Socket socket=new Socket("127.0.0.1",65000); OutputStream os=socket.getOutputStream(); InputStream is=socket.getInputStream(); //获得在操作系统默认编码格式的 os.write(new String("加油,我是最棒的!").getBytes()); //缓冲区 int ch=0; byte[] bytes=new byte[1024]; ch=is.read(bytes); String content=new String(bytes,0,ch); System.out.println(content); //缓冲区 is.close(); os.close(); socket.close(); } }
服务器端代码:
import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; public class Server { public static void main (String[] args)throws IOException { ServerSocket ss=new ServerSocket(65000); while (true){ Socket socket=ss.accept(); new MyThread(socket).start(); } } } class MyThread extends Thread{ private Socket socket; public MyThread(Socket socket) { this.socket = socket; } @Override public void run(){ try { InputStream is=socket.getInputStream(); OutputStream os=socket.getOutputStream(); //缓冲区 int ch=0; byte[] bytes=new byte[1024]; ch=is.read(bytes); String content=new String(bytes,0,ch); System.out.println(content); //缓冲区 os.write(String.valueOf(content.length()).getBytes()); is.close(); os.close(); socket.close(); } catch (IOException e) { e.printStackTrace(); } } }