首页 > 编程语言 >java 网络通讯:tcp,upd,http

java 网络通讯:tcp,upd,http

时间:2023-05-30 10:55:43浏览次数:52  
标签:java Socket 对象 主机 upd http 数据包 服务端 客户端

java 网络通讯:tcp,upd,http

1.TCP通信服务端用的代表类:
ServerSocket类,注册端口。
调用accept()方法阻塞等待接收客户端连接。得到Socket对象。
TCP通信的基本原理?
客户端怎么发,服务端就应该怎么收。
客户端如果没有消息,服务端会进入阻塞等待。
Socket一方关闭或者出现异常、对方Socket也会失效或者出错。

需求:服务端实现步骤
创建ServerSocket对象,注册服务端端口。
调用ServerSocket对象的accept()方法,等待客户端的连接,并得到Socket管道对象。
通过Socket对象调用getInputStream()方法得到字节输入流、完成数据的接收。
释放资源:关闭socket管道

2.UDP协议通信场景
语音通话,视频会话等。

UDP发送端和接收端的对象是:
public DatagramSocket()?:创建发送端的Socket对象
public DatagramSocket(int port):创建接收端的Socket对象

数据包对象是哪个:
DatagramPacket
如何发送、接收数据包
使用DatagramSocket的如下方法:
public void send(DatagramPacket dp):发送数据包
public void receive(DatagramPacket dp) :接收数据包

单播:单台主机与单台主机之间的通信。
广播:当前主机与所在网络中的所有主机通信。
组播:当前主机与选定的一组主机的通信。

3.http:TCP通信如何实现BS请求网页信息回来呢?
客户端使用浏览器发起请求(不需要开发客户端)
服务端必须按照浏览器的协议规则响应数据。
浏览器使用什么协议规则呢?
HTTP协议(简单了解下)

标签:java,Socket,对象,主机,upd,http,数据包,服务端,客户端
From: https://www.cnblogs.com/csj007523/p/17442603.html

相关文章

  • Java实现打包压缩文件或文件夹生成zip以实现多文件批量下载
    有时候在系统中需要一次性下载多个文件,但逐个下载文件比较麻烦。这时候,最好的解决办法是将所有文件打包成一个压缩文件,然后下载这个压缩文件,这样就可以一次性获取所有所需的文件了。下面是一个名为CompressUtil的工具类的代码,它提供了一些方法来处理文件压缩和下载操作:importor......
  • java treemap
    TreeMap是Java中的一个类,它实现了Map接口,利用红黑树数据结构来有序存储键值对。TreeMap中的键按升序排序,若要自定义排序方式,则可以提供自定义的比较器。TreeMap实现了高效的数据访问、插入和删除操作,大多数常规操作的时间复杂度为O(logn)。importjava.util.TreeMap;public......
  • let 和 const 是 JavaScript 中用于声明变量的关键字
    let和const是JavaScript中用于声明变量的关键字。let关键字用于声明可变(可重新赋值)的变量。通过使用let关键字声明的变量可以在其作用域内被重新赋值。例如:letx=10;x=20;//可以重新赋值const关键字用于声明不可变(不可重新赋值)的常量。通过使用con......
  • java开发学习框架
    Java基础1.1.Java简介与安装1.2.Java基本语法1.3.数据类型与变量1.4.运算符与表达式1.5.流程控制(分支与循环)1.6.数组面向对象编程2.1.类与对象2.2.继承与多态2.3.接口与抽象类2.4.封装与访问控制2.5.重载与覆盖2.6.Java内存管理与垃圾回收Java常......
  • java之继承
    继承:实现代码的复用子类继承父类的属性和方法,也可以覆写父类的属性和方法。格式:class父类{}class子类extends父类{} 实例化子类对象时,先调用父类的构造方法,再调用子类的构造方法(构造方法的目的是类属性的初始化);为什么要先调用父类的构造方法呢?因为子......
  • Java中的Stream基本使用
    一Java中的流库Stream是Java8中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用StreamAPI对集合数据进行操作,就类似于使用SQL执行的数据库查询。也可以使用StreamAPI来并行执行操作。简而言之,StreamAPI......
  • Java8 List集合如何移除满足条件的元素
    1.移除List<String>中指定元素for(inti=assSupplementList.size()-1;i>=0;i--){TypgHouseOrderAssessmentSupplementitem=assSupplementList.get(i);if(item.getBzx().contains("新建房屋")){ass......
  • java集合过滤出符合条件的List元素集合(lambda表达式)
    使用Java8中的lambda表达式过滤ModelMapmodel=newModelMap();TSmClazzTSmClazz=tSmClazzService.get(id);List<Student>students=TSmClazz.getStudents();if(flag.equals("0")){List<Student>boys......
  • 【Java】Lambda表达式(三)
    常用Lambda表达式1、遍历finalList<String>list=Arrays.asList("zhangsan","lisi","wangwu","lishan");list.forEach(System.out::println);;2、排序finalList<String>list=Arrays.asList("zhangsan",......
  • 基于JAVA的springboot+vue医院信息管理系统、医院挂号管理系统,附源码+数据库+论文+PPT
    1、项目介绍任何系统都要遵循系统设计的基本流程,本系统也不例外,同样需要经过市场调研,需求分析,概要设计,详细设计,编码,测试这些步骤,基于java语言设计并实现了医院信管系统。该系统基于B/S即所谓浏览器/服务器模式,应用java技术,选择MySQL作为后台数据库。系统主要包括首页,个人中心,用户......