java socket 读取流 java socket outputstream

您所在的位置:网站首页 剪映处理过的视频不清晰,而且还变大了 java socket 读取流 java socket outputstream

java socket 读取流 java socket outputstream

#java socket 读取流 java socket outputstream| 来源: 网络整理| 查看: 265

java socket 读取流 java socket outputstream 转载

mob6454cc77db30 2023-07-04 11:12:16

文章标签 java socket 读取流 java 封装 服务端 文章分类 Java 后端开发

  Java socket相对与C来说,封装性更好,所以使用上面比较简洁。服务端方面,需要一个ServerSocket对象,开启监听,利用服务端获取的链接服务端的socket对象,构建输入流和输出流,输入流是InputStream input,向上封装后是InputStreamReader inputreader,InputStreamReader对象向上封装后是BufferedReader对象。BufferedReader对象用来获取客户端发送给服务端的信息,输出流对象是OutputStream ,向上封装后是OutputStreamWriter对象,OutputStreamWriter对象向上封装后是BufferWriter对象,BufferWriter封装在PrintWriter对象中,用来向客户端发送信息。

服务端示例:

 

import java.io.OutputStream;   import java.io.InputStream;   import java.io.OutputStreamWriter;   import java.io.InputStreamReader;   import.java.io.BufferedReader;   import java.io.BufferedWriter;   import java.net.Socket;   import java.net.ServerSocket;   public class Server   {     public static main(String args[])     {       ServerSocket serSocket;       OutputStream outputStream;       InputStream inputStream;       BufferReader reader;       BufferReader client_reader;       PrintWriter printWriter;       Socket socket;       int PORT = 8886;       try       {           serSocket = new ServerSocket(PORT);           System.out.println("Server is running...");           socket = serSocket.accept();       }       catch(Exception e)           {         e.printStackTrace();       }            try       {         outputStream = socket.getOutputStream();         inputStream = socket.getInputStream();         reader = new BufferedReader(new InputStreamReader(inputStream));         printWriter = new PrintWriter(new BufferedWriter(new OutputStreamWriter(outputStream)));         //printWriter = new PrintWriter(outputStream,true) ------这样也可以达到封装的效果         client_reader = new BufferReader(new InputStreamReader(System.in));         while(true)         {             String message = reader.readLine();             System.out.println("client Msg: "+message);             String sendmsg = client_reader.readLine();             printWriter.println(sendmsg);         }         outputStream.close();         inputStream.close();         socket.close();         serSocket.close();       }       catch(Exception e)       {               e.printStackTrace();       }     }   }

客户端示例:

import java.io.OutputStream;   import java.io.OutputStreamWriter;   import java.io.BufferedWriter;   import java.io.InputStream;   import java.io.InputStreamReader;   import java.io.BufferedReader;   import java.net.Socket;   import java.net.InetAddress;   public class Client   {       public static void main(String args[])       {           Socket socket;           String host = "xxxx.xxxx.xxxx.xxxx";           int port = 8886;           BufferedReader reader;           PrintWriter printWriter;           try           {             socket = new Socket(InetAddress.getByName(host),port);               reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));             printWriter = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);             String recvmsg = reader.readLine();             String sendmsg = "HelloWorld";             printWriter.println(sendmsg);           }           catch(Exception e)           {             e.printStackTrace();           }       }   } 本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。 收藏 评论 分享 举报

上一篇:centos docker 容器内定时任务 docker指定容器的三种方法

下一篇:Java和redis java和redis验证码



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3