A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 键盘有花生油 初级黑马   /  2018-12-2 15:12  /  552 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

day11 网络编程软件结构介绍
[Java] 纯文本查看 复制代码
C/S结构: 
	全称为Client/Server结构, 是指 客户端 和 服务器 结构
	常见程序有QQ, 迅雷等软件 

B/S结构: 
	全称为Browser/Server结构, 是指 浏览器 和 服务器 结构
	常见浏览器有IE, 谷歌, 火狐等
	

网络编程: 在一定的"协议"下, 实现两台计算机的通信的程序

中国人  ---翻译--->  美国
中国人学英语  ----> 美国人
计算机A  ------> 计算机B  

网络通信协议
[Java] 纯文本查看 复制代码
网络通信协议: 
	通信协议是计算机必须遵守的规则, 只有遵守这些规则, 计算机之间才能进行通信. 
	协议中对数据的传输格式, 传输速率, 传输步骤等做了统一规定, 通信双方必须同时遵守, 最终完成数据交换
	(类似于一种语言, 语法语速做了规定)

TCP/IP协议: 
	Transmission Control Protocol/Internet Protocol, 传输控制协议/因特网互联协议.
	它定义了计算机如何连入因特网, 以及数据如何在它们之间传输的标准. 它的内部包含一系列的用于处理数据通信的协议, 并采用了4层的分层模型, 每一层都呼叫它的下一层所提供的协议来完成自己的需求

网络通信协议分类
[Java] 纯文本查看 复制代码
UDP: User Datagram Protocol, 用户数据报协议
	特点:
		1. 无连接的不可靠协议
		2. 数据按包发送, 64K一个包
		3. 速度快效率高, 容易丢包
	用于视频直播, 网络电话

TCP: Transmission Control Protocol, 传输控制协议 
	特点:
		1. 需要建立连接的可靠协议  电话
		2. 数据传输无大小限制
		3. 速度慢效率低   重发机制
	用于文件下载, 浏览网页
	
TCP通信的三次握手: TCP协议中, 在发送数据的准备阶段, 客户端与服务器之间的三次交互, 以保证连接的可
靠
	1. 客户端向服务端发送验证信息, 等待服务器确认
	2. 服务端收到验证信息后, 回复客户端验证信息, 同时发送自己的一条验证信息
	3. 客户端收到服务端回复的信息, 确认自己之前发的信息无误, 并再次向服务器发回服务端的验证信息

网络编程三要素: IP地址
[Java] 纯文本查看 复制代码
网络编程三要素:
	1. 通信协议  TCP
	2. IP地址
	3. 端口号
		
IP地址: 互联网协议地址(Internet Protocol Address). 是网络中计算机的唯一标识
	版本:
		IPv4: 192.168.1.2
		IPv6: ABCD:EF01:2345:6789:ABCD:EF01:2345:6789
	特殊的IP地址: "127.0.0.1", "localhost", 都代表自己的电脑

常用DOS命令:
	// 查看自己电脑的IP地址
	ipconfig
	// 查看是否能连接到指定IP地址
	ping IP地址
	ping 192.168.31.

网络三要素: 端口号
[Java] 纯文本查看 复制代码
端口号: 计算机中进程的唯一标识
	端口号的取值范围: 0~65535的整数, 其中0~1024不建议使用
	
注意:
	通信的两端是2个计算机中的2个程序在相互通信, 所以2个程序都要有端口号. 端口号可以相同, 也可以不同, 相互之间能识别就行

今日API
[Java] 纯文本查看 复制代码
java.net.ServerSocket类: TCP服务端
	// 构造方法
	ServerSocket(int port): 创建一个TCP服务端, 并监听指定端口
	// 成员方法
	Socket accept(): 监听数据, 会阻塞. 收到数据后返回Socket对象
	void close(): 关闭服务端ServerSocket

java.net.Socket类: TCP客户端
	// 构造方法
	Socket(String ip, int port): 创建TCP客户端对象
	// 成员方法
	OutputStream getOutputStream(): 获取输出流对象, 用于发送数据
	InputStream getInputStream(): 获取输入流, 用于接收数据
	void shutdownOutput(): 关闭输出流, 告知服务端数据发送完毕
	void close(): 关闭客户端Socket







                  

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马