网络通信:

网络通信三要素:

  IP

  协议

  端口

TCP:
  建立连接,发送速度慢
  三次握手协议
UDP:
  不需要建立连接,发送速度快
  安全性低

  a) 使用UDP实现数据的发送
    1 创建Socket端点实现数据的发送
      DatagramSocket:
      基于UDP,发送数据包
    2 明确发送的数据
    3 把数据封装成数据报包
      DatagramPacket:
      UDP数据包,指明了发送的数据,接收方的IP,接收方的端口
    4 使用Socket的发送功能发送数据
      内部使用输出流将数据写出去,所以有IOException

b) 使用UDP实现数据的接收:
  1 创建Socket端点实现数据的接收
    需要指定监听的端口
  2 创建一个空的数据报包来接收数据
  3使用Soclet的接收功能来接收
  4 从数据报包获取数据

    c) 使用TCP实现数据的发送:
      客户端
      1 创建Socket端点,负责数据发送,同时需要和服务端连接
      2 发送数据,就是输出,使用输出流
        Socket:只能作为客户端(发送)

Scoket socket = new Scoket(InetAddress.getByName(""), 55555);

这句话成功执行说明成功创建客户端
同时说明和服务器端连接成功
也就是和服务器端建立了一条通道
这条通道就是这个Socket流(客户端对象),Socket流中既有字节输入流,也有字节输出流

    d) 使用TCP实现数据的接收:
      服务端
        ServerSocket:
      1 创建Scoket对象,同时监听端口
      2 得到客户端对象,和客户端使用相同的流
      3 接收数据,就是读取数据,使用输入流

服务端如何区分客户端?

  得到客户端对象,和客户端使用相同的流

shutDownOutput():添加结束标记

Java Internet的更多相关文章

  1. Java入门 任务表

    Java IO Java ,MySQL Java Internet 线程,同步 冒泡法排序 1.

  2. MOOC 编译原理笔记(一):编译原理概述以及程序设计语言的定义

    编译原理概述 什么是编译程序 编译程序指:把某一种高级语言程序等价地转换成另一张低级语言程序(如汇编语言或机器代码)的程序. 高级语言程序-翻译->机器语言程序-运行->结果. 其中编译程 ...

  3. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  4. java网络---查找Internet

    连接到Internet的设备称为节点,计算机节点称为host. 为了区别每一台连接互联网的计算机,就有了Internet Protocol地址的概念. IPV4 & IPV6 我们以前默认的是 ...

  5. 集成自动化的条形码功能到internet应用程序,网站或自定义Java应用程序的条码控件Java Barcode Package

    Java Barcode Package控件是一款条码生成控件,包含所有的JavaBean,Applets,Servlets和类库可以使用于装有Java虚拟机的任何平台,包括Windows®, Lin ...

  6. Java实现Internet地址获取

    Java实现Internet地址获取 代码内容 输入域名输出IPV4地址 输入IP地址输出域名 支持命令行输入 支持交互式输入 代码实现 /* nslookup.java */ import java ...

  7. Linkin大话Java和internet概念

    整理电脑,无意中翻到不知道哪里来的文章,觉得里面写的很好,仔细看过一遍后,整理了下贴了出来,其中的好多概念我觉得讲的很透彻. 既然Java不过另一种类型的程序设计语言,为什么还有这么多的人认为它是计算 ...

  8. 【解决问题】failed: java.lang.RuntimeException: org.openqa.selenium.WebDriverException: Unexpected error launching Internet Explorer.

    failed: java.lang.RuntimeException: org.openqa.selenium.WebDriverException: Unexpected error launchi ...

  9. Java网络编程之查找Internet地址

    一.概述 连接到Internet上计算机都有一个称为Internet地址或IP地址的唯一的数来标识.由于IP很难记住,人们设计了域名系统(DNS),DNS可以将人们可以记忆的主机名与计算机可以记忆的I ...

随机推荐

  1. DataSetToJSON

    unit FMX.DataSetToJSON; interface uses FireDAC.Comp.Client,Data.DB; function DataSetToJSON(DataSet:T ...

  2. 安装pyenv virtualenv

    地址:https://github.com/pyenv/pyenv-virtualenv Check out pyenv-virtualenv into plugin directory $ git ...

  3. rem & em初探

    Rem为单位 CSS3的出现,他同时引进了一些新的单位,包括我们今天所说的rem.在W3C官网上是这样描述rem的——“font size of the root element” .下面我们就一起来 ...

  4. 2.3 linux中的信号分析 阻塞、未达

    信号的阻塞.未达: linux中进程1向进程2发送信号,要经过内核,内核会维护一个进程对某个信号的状态,如下图所示: 当进程1向进程2发送信号时,信号的传递过程在内核中是有状态的,内核首先要检查这个信 ...

  5. SIM800C 使用基站定位

    /******************************************************************************* * SIM800C 使用基站定位 * ...

  6. Shader的函数公式以及使用的场景

    Shader 是干什么的? 它的作用可以先简单理解为对屏幕上的物体,进行颜色处理. 而大家都知道,所有计算机,处理颜色的当然是显卡,也就是 GPU . 所以我们写 Shader 的目的就是告诉 GPU ...

  7. java正则表达式——Greedy、Reluctant和Possessive

    测试1: package jichu; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Mai ...

  8. POJ 2407:Relatives(欧拉函数模板)

    Relatives AC代码 Relatives Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 16186   Accept ...

  9. Windows10中启用原来的Windows照片查看器方法

    前言: ============================================== Windows10 版系统自带很多垃圾应用,图片查看器弄得很不好用,还是习惯Windows7的,自 ...

  10. ppt罗列项排版

    关于罗列项的排版(1,....2,......3,......4,........)