当前位置: 首页 > news >正文

Java新手小白入门篇 API -Socket网络编程

  • Java新手小白入门篇系列持续更新中…

文章目录

    • 一、ServerSocket
      • 1. ServerSocket类介绍
    • 二、Socket
      • 1. Socket类介绍
      • 2. Socket常用构造方法
      • 3. Socket建立流链接的方法
    • 三、ServerSocket 与 Socket 网络编程


一、ServerSocket

1. ServerSocket类介绍

java.net.ServerSocket
运行在服务端的ServerSocket类主要用两个作用:

  • 向操作系统申请服务端口,客户端就是通过这个端口与服务端建立连接的
  • 监听服务端口,一旦一个客户端建立连接就会创建一个Socket,使用这个Socket与该客户端交互
//向操作系统申请服务端端口号 8088
ServerSocket serverSocket = new ServerSocket(8088);
//监听服务端端口(阻塞方法,等待客户端连接),并创建Scoket实例,通过这个Scoket实例
//就能和客户端(浏览器)进行交互了
Socket socket = serverSocket.accept();

二、Socket

1. Socket类介绍

java.net.Socket 套接字

  • Socket这个类中封装了TCP传输层协议的连接和通讯细节。
  • 通过指定远程的ip地址和端口号,与远程的Socket建立连接。这里可以理解成在两个Socket之间建立了一个管道
  • 当其通过绑定字节的输入流和输出流,便可以实现客户端与服务端的网络通信
  • 客户端和服务端通常通过Socket套接字向网络发出请求(request)或者接受响应(response)。

2. Socket常用构造方法

  • 创建一个socket并与指定主机的指定端口相连接。Host为指定的主机的字符串名;port是指定的端口号。
    Socket(String host , int port ) ;
    
  • 创建一个socket 并与指定的IP地址的端口相连接。address 为指定的ip , port 为指定的端口 。
    Socket(InetAddress address , int port ) ;
    

3. Socket建立流链接的方法

  • 输入流 – 读(接受)
    • public InputStream getInputStream() ;
  • 输出流 – 写(发送)
    • public OutputStream getOutputStream();

三、ServerSocket 与 Socket 网络编程

请添加图片描述


  • 持续更新中…

相关文章:

  • kafka如何保证消息不丢失?半分钟的答案和半个小时的答案有点不一样。
  • Java学习----集合1
  • PBR概念及PBR核心理论和渲染原理
  • 5.5如何去除有序数组的重复元素
  • PBR标准化工作流程
  • Vue学习第17天——netTick()的原理及使用
  • 英语语法精讲合集
  • 如何用数据采集网关快速采集工业现场数据,怎么搭建MQTT服务器?
  • Vue中的样式绑定
  • 大学网课答案公众号题库搭建
  • torch.utils.data
  • torch.torchvision
  • Git GitHub VSCode 简单使用
  • 小程序开发技术框架选型
  • 大学生怎么制作查题搜题公众号?
  • 《Java编程思想》读书笔记-对象导论
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • 11111111
  • 77. Combinations
  • Java精华积累:初学者都应该搞懂的问题
  • java中的hashCode
  • Less 日常用法
  • MaxCompute访问TableStore(OTS) 数据
  • ng6--错误信息小结(持续更新)
  • Puppeteer:浏览器控制器
  • Python socket服务器端、客户端传送信息
  • Vim 折腾记
  • vue 配置sass、scss全局变量
  • Vultr 教程目录
  • 多线程 start 和 run 方法到底有什么区别?
  • 关于Java中分层中遇到的一些问题
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 使用putty远程连接linux
  • 思否第一天
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • 大数据全解:定义、价值及挑战
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (done) 两个矩阵 “相似” 是什么意思?
  • (第一天)包装对象、作用域、创建对象
  • (附源码)springboot学生选课系统 毕业设计 612555
  • (转)http协议
  • .Net MVC4 上传大文件,并保存表单
  • .NET 设计模式初探
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .NET4.0并行计算技术基础(1)
  • .net连接oracle数据库
  • /*在DataTable中更新、删除数据*/
  • [ C++ ] STL---string类的使用指南
  • [C++]高精度 bign (重载运算符版本)
  • [Effective C++读书笔记]0012_复制对象时勿忘其每一部分
  • [excel与dict] python 读取excel内容并放入字典、将字典内容写入 excel文件