博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java网络基础(8)
阅读量:4031 次
发布时间:2019-05-24

本文共 1921 字,大约阅读时间需要 6 分钟。

网络编程 01_网络基础_IP_TCP_UDP

(http://blog.csdn.net/jinhongliang123/article/details/7943222)

本章内容

1   网络基础
2   TCP/IP协议
3   IP地址
4   Socket通信
--------------TCP/UDP
网络基础概念
1   什么是计算机网络
----------把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大,功能强的网络系统,从而使众多的计算机可以方便地互相传递信息,共享硬件,软件,数据信息等资源。
2   计算机网络的主要功能
----------资源共享
----------信息传输与集中处理
----------均衡负荷与分布处理
----------综合信息服务(www/综合业务数字网络 ISDN)

网络通信协议及接口

1   什么是网络通信协议

----------计算机网络中实现通信必须有一些约定即通信协议,对速率,传输代码,代码结构,传输控制步骤,出错控制等制定标准。
2   网络通信接口
----------为了使两个节点之间能进行对话,必须在它们之间建立通信工具(即接口),使彼此之间能进行信息交换。接口包括两部分:
--------------------硬件装置:实现结点之间的信息传送
--------------------软件装置:规定双方进行通信的约定协议
通信协议分层的思想
1   为什么要分层
----------由于结点之间联系很复杂,在制定协议时,把复杂成份分解成一些简单的成份,再将它们复合起来。最常用的复合方式是层次方式,即同层间可以通信,上一层可以调用下一层,而与再下一层不发生关系。各层互不影响,利于系统的开发和扩展。
2   通信协议的分层规定

----------把用户应用程序作为最高层,把物理通信线路作为最底层,将其间的协议处理分为若干层,规定每层处理的任务,也规定每层的接口标准。

参考模型

数据封装

数据拆封

IP协议(给我们提供了IP地址)
TCP/IP详解
Ip(Internet Protocol)协议时网际层的主要协议,支持网间互连的数据报通信。它提供主要功能有:
1   无连接数据报传送

2   数据报路由选择和差错控制

TCP协议和UDP协议
TCP(transmission control protocol)
是专门设计用于在不可靠的因特网上提供可靠的,端到端的字节流通信的协议。它是一种面向连接的协议。TCP连接是字节流而非报文流。
UDP(user data protocol)

UDP向应用程序提供了一种发送封装的原始IP数据报的方法,并且发送时无需建立连接。是一种不可靠的连接。

实例:(马士兵--网络)先运行 服务器端,再运行 客户端

import java.io.*;import java.net.*;public class TCPServer {	public static void main(String[] args) throws Exception{		ServerSocket ss=new ServerSocket(6666);		while(true){			Socket s=ss.accept();//这个方法是阻塞式的			System.out.println("A client connetted!");			DataInputStream dis=new DataInputStream(s.getInputStream());			System.out.println(dis.readUTF());//readUTF()阻塞式的			dis.close();			s.close();		}			}}
import java.io.*;import java.net.*;public class TCPClient {	public static void main(String[] args) throws Exception{		Socket s=new Socket("127.0.0.1", 6666);		OutputStream os=s.getOutputStream();		DataOutputStream dos=new DataOutputStream(os);		dos.writeUTF("Hello, server");		dos.flush();		dos.close();		s.close();	}}
结果:

A client connetted!Hello, server

你可能感兴趣的文章
剑指offer算法题分析与整理(一)
查看>>
剑指offer算法题分析与整理(三)
查看>>
部分笔试算法题整理
查看>>
Ubuntu 13.10使用fcitx输入法
查看>>
pidgin-lwqq 安装
查看>>
mint/ubuntu安装搜狗输入法
查看>>
C++动态申请数组和参数传递问题
查看>>
opencv学习——在MFC中读取和显示图像
查看>>
retext出现Could not parse file contents, check if you have the necessary module installed解决方案
查看>>
pyQt不同窗体间的值传递(一)——对话框关闭时返回值给主窗口
查看>>
linux mint下使用外部SMTP(如网易yeah.net)发邮件
查看>>
北京联通华为光猫HG8346R破解改桥接
查看>>
python使用win32*模块模拟人工操作——城通网盘下载器(一)
查看>>
python append 与浅拷贝
查看>>
Matlab与CUDA C的混合编程配置出现的问题及解决方案
查看>>
2017阿里内推笔试题--算法工程师(运筹优化)
查看>>
python自动化工具之pywinauto(零)
查看>>
python自动化工具之pywinauto(四)——批量转换exe视频
查看>>
python一句话之利用文件对话框获取文件路径
查看>>
PaperDownloader——文献命名6起来
查看>>