Java中的网络编程-1
计算机网络:将分布在不同地区的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统, 从而使众多计算机
可以方便的互相传递信息, 共享硬件、软件、数据信息等资源.
计算机网络的主要功能: 资源共享、信息传输与集中处理、均衡负荷与分布处理、综合信息服务.
网络通信协议:计算机网络中实现通信必须有一些约定, 即通信协议, 对传输速率、传输代码、代码结构、传输控制步骤、出错控制
等制定的一些标准.
网络通信接口:为了使两个节点之间能够进行对话, 必须在他们之间建立通信工具(即接口), 使彼此之间能进行信息交换.
接口:① 硬件:实现节点之间的信息传递.
② 软件:规定双方进行通信的约定协议.
通信协议分层思想:
①为什么要分层:由于节点之间联系很复杂, 在指定协议时, 把复杂成份分解成一些简单的成份, 再将它们复合起来. 最通常的复合
方式就是层次方式, 即同层次间可以通信, 上一层可以调用下一层, 而与再下一层不发生关系. 各层之间互不影响,
利于系统的开发与扩展.
②通信协议的分层规定:把用户应用程序作为最高层, 把物理通信线路作为最底层, 将其间的通信协议处理分为若干层, 规定每层
处理的任务, 也规定每层的接口标准.
参考模型:
IP 协议:IP协议是网络层的主要协议, 支持网络间互联的数据通信.
IP:提供独一无二的 IP 地址.
TCP协议/UDP协议:位于同一层, 网络层.
① TCP(Transmission control protocol):可靠的连接, TCP是专门设计用于在不可靠的因特网上提供可靠的, 端到端的字节流通信的协议,它是一种面向连接的协议, TCP连接是字节流而非报文流.
② UDP(User data protocol)(发电报):不可靠, 但是效率高(快), UDP 向应用程序提供了一种发送封装的原始 IP 数据报的方法, 并且发送时无需建立连接, 是一种不可靠的连接, 可能会丢包.
Java中的网络编程-1的更多相关文章
- 第84节:Java中的网络编程(中)
第84节:Java中的网络编程(中) 实现客户端和服务端的通信: 客户端需要的操作,创建socket,明确地址和端口,进行键盘录入,获取需要的数据,然后将录入的数据发送给服务端,为socket输出流, ...
- 第78节:Java中的网络编程(上)
第78节:Java中的网络编程(上) 前言 网络编程涉及ip,端口,协议,tcp和udp的了解,和对socket通信的网络细节. 网络编程 OSI开放系统互连 网络编程指IO加网络 TCP/IP模型: ...
- 第62节:探索Java中的网络编程技术
前言 感谢! 承蒙关照~ 探索Java中的网络编程技术 网络编程就是io技术和网络技术的结合,网络模型的定义,只要共用网络模型就可以两者连接.网络模型参考. 一座塔有七层,我们需要闯关. 第一层物理层 ...
- Java中的网络编程
Java中的网路编程主要是Java的Socket编程,属于JavaEE中的高级的部分,以下内容是对java网路编程的一个小结,代码都是经过编译调试的 C/S程序应用:客户/服务器模式,如QQ客户端 ...
- JAVA中-面向网络编程---单层交互
面向网络编程---单层交互: 客户端说明: /* * 实现TCP客户端,链接到服务器 * 和服务器实现数据交互 * 实现TCP客户端的类 java.net.Scoket * 构造方法: * Socke ...
- Java中的网络编程-2
Socket编程:(一般的网络编程) <1> 两个 JAVA 应用程序可通过一个双向的网络通信连接, 实现数据交换, 这个双向链路的一段称为一个 Socket. <2> Soc ...
- Java中的网络编程-3
用户数据协议(UDP)是网络信息传输的另外一种形式, 基于UDP的通信不同于基于TCP的通信, 基于UDP的信息传递更快, 但是不提供可靠的保证. 使用UDP传输数据时, 用户无法知道数据能否正确地到 ...
- java第九节 网络编程的基础知识
/** * * 网络编程的基础知识 * 网络协议与TCP/IP * IP地址和Port(端口号) * 本地回路的IP地址:127.0.0.1 * 端口号的范围为0-65535之间,0-1023之间的端 ...
- 读懂Java中的Socket编程
Socket,又称为套接字,Socket是计算机网络通信的基本的技术之一.如今大多数基于网络的软件,如浏览器,即时通讯工具甚至是P2P下载都是基于Socket实现的.本文会介绍一下基于TCP/IP的S ...
随机推荐
- js数组的处理使用
var users = [ {name: "张含韵", "email": "zhang@email.com"}, {name: " ...
- Linux下更新git版本
查看git版本,卸载旧版本(如果没有安装git请直接到下一步) git --version yum remove git 安装依赖软件 yum install curl-devel expat-dev ...
- R语言学习笔记(二十四):plyr包的用法
plyr 这个包,提供了一组规范的数据结构转换形式. Input/Output list data frame array list llply() ldply() laply() data fram ...
- FPGA时序逻辑中常见的几类延时与时间(五)
FPGA逻辑代码重要的是理解其中的时序逻辑,延时与各种时间的记忆也是一件头疼的事,这里把我最近看到的比较简单的几类总结起来,共同学习. 一.平均传输延时 平均传输延时 二.开启时间与关闭时间 开 ...
- 20155231 2016-2017-2 《Java程序设计》第3周学习总结
20155231 2016-2017-2 <Java程序设计>第3周学习总结 教材学习内容总结 学习目标 区分基本类型与类类型 理解对象的生成与引用的关系 掌握String类和数组 理解封 ...
- dedecms 顶级栏目内容显示
在需要的位置,添加: {dede:sql sql='Select content from dede_arctype where id=1'} [field:content/] {/dede:sql}
- PhoneGap3.2安装步骤
1.首选安装好JDK.Android SDK.Ant 配置如下: 系统环境变量 ANDROID_HOME Value: C:\Development\adt-bundle\ ...
- 【LG5020】[NOIP2018]货币系统
[LG5020][NOIP2018]货币系统 题面 洛谷 题解 考场上第一眼还不会233 可以发现只要可以被其他的货币通过一些奇奇怪怪的方式表示出来的货币就\(ban\)掉即可 就是个完全背包 我是统 ...
- Gulp 有用的地址
gulp似乎成为web开发的必选工具. 推荐一个非常好的入门教程 https://markgoodyear.com/2014/01/getting-started-with-gulp/ 官方插件列表: ...
- idea alt+enter导包时被锁定导某一个包时的解决方法
在只有一个包指向的时候,把光标放在Test这种字符之间的话 就会直接导这个 所以把光标放在最后就可以导别的了