目录:

01 网络编程概述1

02 网络编程概述2

03网络编程 网络模型

04网络编程 IP地址

05网络编程 TCP和UDP

06网络编程 Socket

07网络编程 UDP发送端

01 网络编程概述1
1.找到对方IP。
2.数据要发送到对方指定的应用程序上,为了标识这些应用程序,给这些网络应用程序都用数字进行标识。为了方便称呼这个数字,把它称为端口,是逻辑端口。
3.定义通信规则,这个通信规则称为协议。国际组织规定了通用协议TCP/IP.

02 网络编程概述2

03网络编程 网络模型

04网络编程 IP地址
IP地址
网络中设备的标识
不易记忆,可用主机名
本地回环地址:127.0.0.1 主机名:localhost
Java中用InetAddress类来描述IP地址。

获得该类实例的方法:
getLocalHost():用于返回本地主机的IP地址
getByName():在给定主机名的情况下确定IP地址

05网络编程 TCP和UDP
UDP:
将数据及源和目的封装在数据包中,不需要建立连接
每个数据报的大小限制在64K内。
不需要建立连接,速度快。
因无连接,是不可靠协议。
TCP:
建立连接,形成传输数据的通道。
在连接中可以进行大数据传输。
通过三次握手完成连接,是可靠协议
必须建立连接,效率和降低。

06网络编程 Socket
Socket有插座的意思
Socket就是为网络服务提供的一种机制。
通信的两端都有Socket。
网络通信其实就是Socket之间的通信。
数据在两个Socket之间通过IO传输。

07网络编程 UDP发送端


示例代码:

 import java.net.*;

 /*
需求:通过UDP传输方式,将一段文字数据发送出去。
思路:
1.建立UDPSocket服务,
2.提供数据,并将数据封装到数据包中。
3.通过Socket服务的发送功能,将数据包发送出去。
4.关闭资源 */
public class UdpSend
{
public static void main(String[] args)throws Exception
{
//1.建立udp服务,通过DatagramSocket对象
DatagramSocket ds=new DatagramSocket(); //2.确定数据,并封装成数据报,
//DatagramPacket(byte[] buf, int length, InetAddress address, int port)
byte[] buf="you are not alone".getBytes();
DatagramPacket dp=new DatagramPacket(buf,buf.length,InetAddress.getByName("61.190.196.18"),10000);
//3.通过Socket服务,将已有的数据包发送出去,通过send方法
ds.send(dp);
//4.关闭资源
ds.close(); }
}

网络编程1--毕向东java基础教程视频学习笔记的更多相关文章

  1. 多线程--毕向东java基础教程视频学习笔记

    目录 1.多线程运行的安全问题 2.多线程同步代码块 3.同步方法的锁是this 4.静态同步方法的锁是Class对象 5.单例设计模式(面试中的考点) 6.死锁(一个发生死锁的例子) 多线程运行的安 ...

  2. 网络编程2--毕向东java基础教程视频学习笔记

    Day 23 08 Udp接收端09 Udp键盘录入数据方式10 Udp聊天11 TCP传输12 TCP传输213 TCP练习14 TCP复制文件 08 Udp接收端 需求:定义一个应用程序,用于接收 ...

  3. 网络编程4--毕向东java基础教程视频学习笔记

    Day24 06 自定义浏览器-Tomcat服务端07 自定义图形界面浏览器-Tomcat服务端08 URL-URLConnection09 小知识点10 域名解析 06 自定义浏览器-Tomcat服 ...

  4. 网络编程3--毕向东java基础教程视频学习笔记

    Day24 01 TCP上传图片02 客户端并发上传图片03 客户端并发登录04 浏览器客户端-自定义服务端05 浏览器客户端-Tomcat服务端 01 TCP上传图片 import java.net ...

  5. IO流05--毕向东JAVA基础教程视频学习笔记

    Day20 10 创建java文件列表11 Properties简述12 Properties存取13 Properties存取配置文件14 Properties练习15 PrintWriter16 ...

  6. IO流04--毕向东JAVA基础教程视频学习笔记

    Day20 01 File概述02 File对象功能-创建和删除03 File对象功能-判断04 File对象功能-获取05 File对象功能-文件列表106 File对象功能-文件列表207 列出目 ...

  7. IO流01--毕向东JAVA基础教程视频学习笔记

    提要 01 IO流(BufferedWriter)02 IO流(BufferedReader)03 IO流(通过缓冲区复制文本文件)04 IO流(readLine的原理)05 IO流(MyBuffer ...

  8. 集合3--毕向东java基础教程视频学习笔记

    Day 15 集合框架01 TreeSet02 TreeSet存储自定义对象03 二叉树04 实现Comparator方式排序05 TreeSet练习06 泛型概述07 泛型使用08 泛型类09 泛型 ...

  9. 集合2--毕向东java基础教程视频学习笔记

    Day14 08 LinkedList09 LinkedList练习10 ArrayList练习11 ArrayList练习2 12 HashSet13 HashSet存储自定义对象14 HashSe ...

随机推荐

  1. LeetCode——LRU Cache

    Description: Design and implement a data structure for Least Recently Used (LRU) cache. It should su ...

  2. [Bootstrap]7天深入Bootstrap(4)CSS组件

    Bootstrap框架的三大核心之二:组件. 组件也是最核心的地方,因为绝大部分的网页都必须利用组件才能构建出绚丽的页面. 组件包括:Icon图标(Glyphicon). 下拉菜单(Dropdown) ...

  3. Gradle学习系列之九——自定义Task类型

    在本系列的上篇文章中,我们学习了多Project构建,在本篇文章中,我们将学到如何自定义Task类型. 请通过以下方式下载本系列文章的Github示例代码: git clone https://git ...

  4. <!DOCTYPE> 的理解

    [[ from <!DOCTYPE> 标签的深入理解 ]] 前言: 今天被问道“有没有仔细了解过<!DOCTYPE>标签?”,愣了一下,因为一开始在W3cschool上看到过建 ...

  5. Web前端开发十日谈

    =========================================================================== 原文章: http://kb.cnblogs.c ...

  6. C#设计模式——适配器模式(Adapter Pattern)

    一.概述在软件开发中,常常会想要复用一个已经存在的组件,但该组件的接口却与我们的需要不相符,这时我们可以创建一个适配器,在需复用的组件的接口和我们需要的接口间进行转换,从而能够正常的使用需复用的组件. ...

  7. Unity3D-terrain brush地形画刷无法出现在Scene中,无法刷地图2

    原因大概是 画刷brush 太小了,地图也太小了,没出出现. 如图,非正常状态: 解决方法: tag: terrain brush not working unity

  8. 【jQuery基础学习】09 jQuery与前端(这章很水)

    这章主要是将如何将jQuery应用到网站中,或者说其实就是一些前端知识,对于我这种后端程序来说其实还是蛮有用的. 关于网站结构 文件结构 前端文件分三个文件夹放 images文件夹用来存放将要用到的图 ...

  9. Activity按下2次退出和获取当前时间

    先看下onBackPressed和onKeyDown的区别 在Android上有两种方法来获取该按钮的事件 1.直接获取按钮按下事件,此方法兼容Android 1.0到Android 2.1 也是常规 ...

  10. 购物车信息存cookie

    //以商品为单位分别存入到各个不同的cookie中,避免因为cookie值过大,导致数据存储失败 $cart_info_one[brand_name] = $parent['brand_name']; ...