java网络编程(一)Socket、ServerSocket

不念不忘少年蓝@ 2022-03-21 14:30 325阅读 0赞

1.Socket

java都是基于InputStream还有OutputStream实现的。Socket也可以通过输入、输出流进行读写。

客户端

  1. OutputStream outputStream = null;
  2. try {
  3. Socket socket = new Socket("127.0.0.1", 8111);
  4. outputStream = socket.getOutputStream();
  5. outputStream.write("大鸡腿".getBytes());
  6. outputStream.flush();
  7. socket.shutdownOutput();
  8. InputStream inputStream = socket.getInputStream();
  9. InputStreamReader inputStreamReader=new InputStreamReader(inputStream);
  10. BufferedReader br=new BufferedReader(inputStreamReader);
  11. String str=null;
  12. while((str=br.readLine())!=null){
  13. System.out.println("服务端接收到信息:"+str);
  14. }
  15. br.close();
  16. inputStream.close();
  17. outputStream.close();
  18. socket.close();
  19. } catch (IOException e) {
  20. e.printStackTrace();
  21. }

Socket socket=new Socket进行连接

当输出完成之后,如果还要监听,不能说outputStream.close();不然连接也会关闭的,应该使用socket.shutdownOutput();

记得最后进行所有资源的close

2.ServerSocket

通过ServerSocket开启tcp访问。accept()进行端口监听,获取socket,从而操作outpuStream、InputStream进行输入输出,最后记得close

  1. ServerSocket serverSocket=new ServerSocket(8111);
  2. System.out.println("服务器已开启8111端口监听...");
  3. Socket socket=serverSocket.accept();
  4. inputStream = socket.getInputStream();
  5. InputStreamReader inputStreamReader=new InputStreamReader(inputStream);
  6. BufferedReader br=new BufferedReader(inputStreamReader);
  7. while((str=br.readLine())!=null){
  8. System.out.println("服务端接收到信息:"+str);
  9. }
  10. OutputStream outputStream=socket.getOutputStream();
  11. outputStream.write("收到信息".getBytes());
  12. outputStream.flush();
  13. outputStream.close();
  14. br.close();
  15. inputStream.close();
  16. socket.close();
  17. } catch (IOException e) {
  18. e.printStackTrace();
  19. }

发表评论

表情:
评论列表 (有 0 条评论,325人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Java网络编程()

    1.网络编程入门 1.1 网络编程概述【理解】 计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,

    相关 Java网络编程

    1.网络参考模型: (1)OSI(开放系统互联)参考模型: 应用层:终端应用 表示层:比计算机识别的东西转换成人能识别的东西(解释,加密,解密) 会话层:在系统