java 网络编程

Socket套接字
 
I/O流
 
inputsteam
outputsteam
read
writte
 
服务端;
1.建立serverSocket对象
2.等待客户端连接,返回一个Socket对象
3.建立与客户段的输入或输出流
4.关闭资源
try {
                      //1.建立服务端 对象
                     ServerSocket ss = new ServerSocket(8888);
                      //2.等待客户端链接
                     Socket s = ss.accept(); //阻塞式的方法
                      //建立服务端和客户端的输入和输出流
                     OutputStream out = s.getOutputStream();
                     String str = "你好fsdfasdfa";
                      //输出
                      out.write( str.getBytes());
                     
                      s.close();
                      ss.close();
              } catch (IOException e ) {
                      // TODO Auto-generated catch block
                      e.printStackTrace();
              }

  

客户端:
1.建立socket对象,参数:主机地址和端口
2.建立与服务段的输入或输出流
3.关闭资源
 
try {
                     Socket s  = new Socket("localhost" ,8888);
                     
                     InputStream in = s.getInputStream();
                      //字符流接受
                      byte[] b = new byte[1024];
                      int len ;
                     String str = null;
                     StringBuffer sb = new StringBuffer();// stringbuffer 解决字符串连接的常量池 内存
                      while((len = in .read(b ))!=-1){
                            str = new String(b ,0,len );
                            sb.append( str);
                     }
                     System. out.println(sb .toString());
                      s.close();
                     
              } catch (UnknownHostException e ) {
                      // TODO Auto-generated catch block
                      e.printStackTrace();
              } catch (IOException e ) {
                      // TODO Auto-generated catch block
                      e.printStackTrace();
              }

  

原文地址:https://www.cnblogs.com/ShengXi-1994/p/5577511.html