网络编程

网络编程

一:网络编程入门

1.1:软件结构

B/S:如淘宝 管理系统
C/S:如QQ 迅雷

1.2:网络通信协议

a:网络通信协议是干什么的
	就是为计算机之间的通信定义了一些规则。
	
b:网络通信协议的具体内容
	通信协议是对计算机必须遵守的规则,只有遵守这些规则,计算机之间才能进行通信。
协议中对数据的传输格式、传输速率、传输步骤等做了统一规定,通信双方必须同时遵守,
最终完成数据交换。

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

1.3:Java中实现通信

a:概述:
	通信的协议还是比较复杂的,`java.net` 包中包含的类和接口,它们提供低层次的
通信细节。我们可以直接使用这些类和接口,来专注于网络程序开发,而不用考虑通信的
细节

1.4:tcp协议

a:概述
	传输控制协议,TCP协议是面向连接的通信协议,即传输数据之前,在发送端和接收端
建立逻辑连接,然后再传输数据,它提供了两台计算机之间可靠无差错的数据传输。

b:特点
	需要建立链接
	无大小限制
	安全,低效

c:建立链接的过程
	三次握手:TCP协议中,在发送数据的准备阶段,客户端与服务器之间的
			 三次交互,以保证连接的可靠。
			 
	三次握手的过程
		- 第一次握手,客户端向服务器端发出连接请求,等待服务器确认。
		- 第二次握手,服务器端向客户端回送一个响应,通知客户端收到了连接请求。
		- 第三次握手,客户端再次向服务器端发送确认信息,确认连接。

1.5:UDP协议

a:是一个面向无连接
	传输数据时,不需要建立连接,不管对方端服务是否启动,直接将数据、
	数据源和目的地都封装在数据包中,直接发送。
b:有大小限制
	每个数据包的大小限制在64k以内。
c:高效,不安全
	它是不可靠协议,因为无连接,所以传输速度快,但是容易丢失数据。

1.6:网络编程三要素

协议:计算机网络通信必须遵守的规则

IP:用来给一个网络中的计算机设备做唯一的编号

端口号:就可以唯一标识设备中的进程(应用程序)。(两个字节表示,0-65535)。

二:TCP通信程序

2.1:概述

 在Java中,提供了两个类用于实现TCP通信程序;
a. 客户端:`java.net.Socket` 类表示。创建`Socket`对象,向服务端发
 			出连接请求,服务端响应请求,两者建立连接开始通信。
b. 服务端:`java.net.ServerSocket` 类表示。创建`ServerSocket`对象,
			相当于开启一个服务,并等待客户端的连接。

2.2:TCP通信的概述

a:过程
   1. 【服务端】启动,创建ServerSocket对象,等待连接。
   2. 【客户端】启动,创建Socket对象,请求连接。
   3. 【服务端】接收连接,调用accept方法,并返回一个Socket对象。
   4. 【客户端】Socket对象,获取OutputStream,向服务端写出数据。
   5. 【服务端】Scoket对象,获取InputStream,读取客户端发送的数据。

b:类的详细介绍
   Socket:
   
   	构造方法
   		public Socket(String host, int port)
:
   	方法:
   		public InputStream getInputStream() 返回此套接字的输入流。
   		public OutputStream getOutputStream() 返回此套接字的输出流。
   		public void close()关闭此套接字。
   		public void shutdownOutput() 禁用此套接字的输出流。  
   	
   ServerSocket
   	 构造方法
   		public ServerSocket(int port)绑定到一个指定的端口号上
   		
   	  方法	
   		 public Socket accept()侦听并接受连接,返回一个新的Socket对象,用于和客户端
   								实现通信。该方法会一直阻塞直到建立连接。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值