网络编程
来源:互联网 发布:ch341a编程器软件 编辑:程序博客网 时间:2024/06/07 08:36
一,网络基础
网络通信协议:
TCP/IP协议:TCP(Transmission Control Protocol,传输控制协议),IP(Internet Protocol,网际协议)。
HTTP协议:HTTP(Hypertext Transfer Protocol,超文本传输协议)。
FTP协议:FTP(File Transfer Protocol,文件传输协议)。
SMTP协议:SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)。
UDP协议:UDP (User Datagram Protocol)用户数据报协议。
IP与端口:
IP地址:每台计算机在网络中都有一个唯一的标识号,就是IP地址。用32位的二进制数来表示,称为Ipv4。IP地址格式:为了方便记忆和使用,我们通常取用十进制表示,每个字节之间用”.”隔开。如192.168.0.1。127.0.0.1代表本机,最后一位255代表广播地址。 对应的类为InetAddress,常用的方法分为获取该对象的静态方法和一般获取信息的方法。
端口号:端口是一个整数,它的范围是0~65535之间。而0~1023之间是一些知名的网络服务和应用使用的,系统也有使用。我们使用最好大于3000以上的端口。
域名:便于记忆的、字符串形式。如”www.163.com”.与IP地址间存在映射关系。由位于网络中的域名服务器(DNS)负责将域名解析为对应的IP地址。解析时先走本机的DNS解析(C:\Windows\System32\drivers\etc\hosts文件),如果没有再走互联网的DNS解析。
二,Socket
套接字,表示一个系统的IP地址和端口号的结合,TCP/IP连接的端点,用来成立两个流对象,通信的两端会有Socket。
常用的方法:两种构造方法,close,getInetAddress,getInputStreaam,getOutputStream
三,TCP
在进行通信之前会有 “三次握手”,握手成功会在通信的两端建立Scoket。两端一个被称为服务端,一个被称为客户端。
服务端使用的是ServerSocket,客户端使用的是Socket。
编程的基本步骤(服务端为例):
1,先创建服务端ServerSocket服务,在创建时要绑定端口号。2,通过ServerSocket的accept方法获取客户端的Socket。3,对客户端Socket的进行读写操作。4,关闭 资源。
四,UDP
DatagramSocket:此类表示用来发送和接收数据报包的套接字。常用的方法:close,receive,send .... 。发送和接受的参数都是DatagramPacket。
DatagramPacket:此类表示数据报包。注意该类的构造函数,代表发送和接受的形式。getData,gatLength....
五,TCP和UDP的区别
TCP面向连接,UDP不面向连接。
TCP连接稳定,UDP连接不稳定。
TCP传输速度慢,UDP传输速度快。
六,URL
代表一个统一资源定位符,它是指向互联网“资源”的指针。资源可以是简单的文件或目录,也可以是对更为复杂的对象的引用,例如对数据库或搜索引擎的查询。
InputStream openStream() 打开到此 URL 的连接并返回一个用于从该连接读入的 InputStream。 实现方式为使用本类的openConnection()。getInputStream()方法取得的。
URLConnection openConnection() 返回一个 URLConnection 对象,它表示到 URL 所引用的远程对象的连接。 一般操作使用这个,可以获取输入输出流。
七,URLConnection
常用方法:
OutputStream getOutputStream() ,返回写入到此连接的输出流。
InputStream getInputStream() ,返回从此打开的连接读取的输入流。
用这两个操作方便多了。
........
八,网络结构
C/S模型:Clinet/Server,两端的代码都得写,成本高,维护难度大。但是客户端可以再本地分担一些运算。
B/S模型:Boswer/Server,优缺点和上面的相反。
网络通信协议:
TCP/IP协议:TCP(Transmission Control Protocol,传输控制协议),IP(Internet Protocol,网际协议)。
HTTP协议:HTTP(Hypertext Transfer Protocol,超文本传输协议)。
FTP协议:FTP(File Transfer Protocol,文件传输协议)。
SMTP协议:SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)。
UDP协议:UDP (User Datagram Protocol)用户数据报协议。
IP与端口:
IP地址:每台计算机在网络中都有一个唯一的标识号,就是IP地址。用32位的二进制数来表示,称为Ipv4。IP地址格式:为了方便记忆和使用,我们通常取用十进制表示,每个字节之间用”.”隔开。如192.168.0.1。127.0.0.1代表本机,最后一位255代表广播地址。 对应的类为InetAddress,常用的方法分为获取该对象的静态方法和一般获取信息的方法。
端口号:端口是一个整数,它的范围是0~65535之间。而0~1023之间是一些知名的网络服务和应用使用的,系统也有使用。我们使用最好大于3000以上的端口。
域名:便于记忆的、字符串形式。如”www.163.com”.与IP地址间存在映射关系。由位于网络中的域名服务器(DNS)负责将域名解析为对应的IP地址。解析时先走本机的DNS解析(C:\Windows\System32\drivers\etc\hosts文件),如果没有再走互联网的DNS解析。
二,Socket
套接字,表示一个系统的IP地址和端口号的结合,TCP/IP连接的端点,用来成立两个流对象,通信的两端会有Socket。
常用的方法:两种构造方法,close,getInetAddress,getInputStreaam,getOutputStream
三,TCP
在进行通信之前会有 “三次握手”,握手成功会在通信的两端建立Scoket。两端一个被称为服务端,一个被称为客户端。
服务端使用的是ServerSocket,客户端使用的是Socket。
编程的基本步骤(服务端为例):
1,先创建服务端ServerSocket服务,在创建时要绑定端口号。2,通过ServerSocket的accept方法获取客户端的Socket。3,对客户端Socket的进行读写操作。4,关闭 资源。
四,UDP
通信前不需要握手,连接是不可靠的。连接的两端一般称为发送端,接收端。
DatagramSocket:此类表示用来发送和接收数据报包的套接字。常用的方法:close,receive,send .... 。发送和接受的参数都是DatagramPacket。
DatagramPacket:此类表示数据报包。注意该类的构造函数,代表发送和接受的形式。getData,gatLength....
编程的基本思路(接收端为例):
1,创建DatagramSocket对象以及接受形式的DatagramPacket对象。2,接受发送端的DatagramPacket。3,读去数据。4,关闭资源。五,TCP和UDP的区别
TCP面向连接,UDP不面向连接。
TCP连接稳定,UDP连接不稳定。
TCP传输速度慢,UDP传输速度快。
六,URL
代表一个统一资源定位符,它是指向互联网“资源”的指针。资源可以是简单的文件或目录,也可以是对更为复杂的对象的引用,例如对数据库或搜索引擎的查询。
相同的还有:
URI:表示一个统一资源标识符 (URI) 引用。URN:表示一个统一资源名称。
InputStream openStream() 打开到此 URL 的连接并返回一个用于从该连接读入的 InputStream。 实现方式为使用本类的openConnection()。getInputStream()方法取得的。
URLConnection openConnection() 返回一个 URLConnection 对象,它表示到 URL 所引用的远程对象的连接。 一般操作使用这个,可以获取输入输出流。
七,URLConnection
常用方法:
OutputStream getOutputStream() ,返回写入到此连接的输出流。
InputStream getInputStream() ,返回从此打开的连接读取的输入流。
用这两个操作方便多了。
........
八,网络结构
C/S模型:Clinet/Server,两端的代码都得写,成本高,维护难度大。但是客户端可以再本地分担一些运算。
B/S模型:Boswer/Server,优缺点和上面的相反。
阅读全文
0 0
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- Windows桌面应用程序(1-1-2nd) 开始使用DirectX for Windows
- ant结合iconfont使用
- MySQL使用笔记
- Unread 12 bytes of record 0x18
- SQL优化之dbms_stats
- 网络编程
- opencv_tutorial_code学习——hdr_imaging
- PhotoView的使用
- 用 Swift 模仿 Vue + Vuex 进行 iOS 开发(一):ReSwift
- 2017-11-30 用js和jq来写网页上的窗帘效果
- BIT 程序设计与实践 22.序列划分
- 解决乌班图(Ubuntu)系统已经装好了python的各种包,Geany开发环境检测不到的问题
- 每天一个linux命令(1):ls命令
- Java线程池 ThreadPoolExecutor 参数的设置