一:客戶端向服務端發送數據。java
服務端:socket
package com.company.s; import java.io.*; import java.net.ServerSocket; import java.net.Socket; public class Server { public static void main(String[] args) throws IOException{ char[] charArray=new char[3]; ServerSocket serverSocket=new ServerSocket(8088); System.out.println("accept begin="+System.currentTimeMillis()); Socket socket=serverSocket.accept(); System.out.println("accept end="+System.currentTimeMillis()); InputStream inputStream=socket.getInputStream(); InputStreamReader inputStreamReader=new InputStreamReader(inputStream); System.out.println("read begin "+System.currentTimeMillis()); int readLength=inputStreamReader.read(charArray);//阻塞 while (readLength!=-1){ String newString=new String(charArray,0,readLength); System.out.println(newString); readLength=inputStreamReader.read(charArray); } System.out.println("read end "+System.currentTimeMillis()); inputStream.close(); socket.close(); serverSocket.close(); } }
2.客戶端代碼:spa
package com.company.s; import java.io.OutputStream; import java.net.Socket; public class Client { public static void main(String[] args) throws Exception{ System.out.println("socket begin "+System.currentTimeMillis()); Socket socket=new Socket("localhost",8088); System.out.println("socket end "+System.currentTimeMillis()); Thread.sleep(3000); OutputStream outputStream=socket.getOutputStream(); outputStream.write("我是中國人".getBytes()); outputStream.close(); socket.close(); } }
二:服務端向客戶端發送數據.net
1.server.javacode
package com.company.s; import java.io.*; import java.net.ServerSocket; import java.net.Socket; public class Server { public static void main(String[] args) throws IOException{ ServerSocket serverSocket=new ServerSocket(8088); System.out.println("accept begin="+System.currentTimeMillis()); Socket socket=serverSocket.accept(); System.out.println("accept end="+System.currentTimeMillis()); OutputStream outputStream=socket.getOutputStream(); outputStream.write("我是思思博士".getBytes()); outputStream.close(); socket.close(); serverSocket.close(); } }
2.客戶端代碼:server
package com.company.s; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.Socket; public class Client { public static void main(String[] args) throws Exception{ System.out.println("socket begin "+System.currentTimeMillis()); Socket socket=new Socket("localhost",8088); System.out.println("socket end "+System.currentTimeMillis()); char[] charBuffer=new char[3]; InputStream inputStream=socket.getInputStream(); InputStreamReader inputStreamReader=new InputStreamReader(inputStream); System.out.println("serverB begin "+System.currentTimeMillis()); int readLength=inputStreamReader.read(charBuffer); System.out.println("serverB end "+System.currentTimeMillis()); while (readLength!=-1){ System.out.println(new String(charBuffer,0,readLength)); readLength=inputStreamReader.read(charBuffer); } System.out.println(); inputStream.close(); socket.close(); System.out.println("client 運行結束="+System.currentTimeMillis()); } }