网络编程就是两个或多个设备(程序)之间的数据交换。html
识别网络上的每一个设备:①IP地址②域名(Domain Name)。一个IP地址能够对应多个域名,一个域名只能对应一个IP地址。java
DNS服务器(域名解析):在实际传输数据之前须要将域名转换为IP地址。程序员
端口:让一个计算机能够同时运行多个网络程序。端口的号码必须位于0-65535之间,每一个端口惟一的对应一个网络程序,一个网络程序可使用多个端口。编程
C/S结构:网络编程的结构被称做客户端/服务器结构,也叫作Client/Server结构。浏览器
B/S结构:使用浏览器做为客户端的结构被称做浏览器/服务器结构,也叫作Browser/Server结构。B/S结构其实也就是一种特殊的C/S结构。服务器
P2P程序:P2P程序中既包含客户端程序,也包含服务器端程序,是一种特殊的程序。网络
协议(Protocol):在实际进行数据交换时,为了让接收端理解该数据,计算机比较笨,什么都不懂的,那么就须要规定该数据的格式,这个数据的格式就是协议。那么如何来编写协议格式呢?答案是随意。只要按照这种协议格式可以生成惟一的编码,按照该编码能够惟一的解析出发送数据的内容便可。也正由于各个网络程序之间协议格式的不一样,因此才致使了客户端程序都是专用的结构。学习
在现有的网络中,网络通信的方式主要有两种: ①TCP(传输控制协议)方式 ②UDP(用户数据报协议)方式编码
客户端的编程主要由三个步骤实现:.net
一、创建网络链接:在创建网络链接时须要指定链接到的服务器的IP地址和端口号。(出现重复)
二、交换数据:交换数据严格按照请求响应模型进行。
三、关闭网络链接。
一、监听端口:这个端口就是服务器端开放给客户端的端口,服务器端程序运行的本地计算机的IP地址就是服务器
端程序的IP地址。
二、 得到链接:服务器端和客户端也经过该链接进行数据交换。通常得到链接时,须要开启专门的线程处理该连
接,每一个链接都由独立的线程实现。
三、 交换数据。
四、 关闭链接。
InetAddress类:该类的功能是表明一个IP地址,而且将IP地址和域名相关的操做方法包含在该类的内部。
TCP方式的网络编程实现时,以java.net.Socket类表明客户端链接,以java.net.ServerSocket类表明服务器端链接。因为高度的封装,程序员实际编程时,只须要指定IP地址和端口号码就能够创建链接了。一方面简化了Java语言网络编程的难度,另外也使得Java语言进行网络底层系统编程很困难,具体点说,Java语言没法实现底层的网络嗅探以及得到IP包结构等信息。
实现服务器端监听的代码为:
ServerSocket ss = new ServerSocket(10000);
实现UDP方式的编程,包含客户端网络编程和服务器端网络编程,主要由两个类实现,分别是:
一、DatagramSocket:实现“网络链接”,包括客户端网络链接和服务器端网络链接。DatagramSocket实现的
就是发送数据时的发射器,以及接收数据时的监听器的角色。类比于TCP中的网络链接,该类既能够用于实现客户
端链接,也能够用于实现服务器端链接。
二、DatagramPacket:实现对于网络中传输的数据封装,该类的对象表明网络中交换的数据。在UDP方式的网络
编程中,不管是须要发送的数据仍是须要接收的数据,都必须被处理成DatagramPacket类型的对象,该对象中
包含发送到的地址、发送到的端口号以及发送的内容等。和TCP方式的网络传输相比,IO编程在UDP方式的网络编
程中变得不是必须的内容,结构也要比TCP方式的网络编程简单一些。
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第六周 | 894/1926 | 2/7 | 30/175 | 这周进行了第一次的实验 |
第七周 | 254/2180 | 2/9 | 21/196 | 第二次java实验 |
第八周 | 260/2440 | 2/11 | 20/216 | 第三次java实验 |
第九周 | 380/2820 | 2/13 | 25/241 | 第四次java实验 |
第十周 | 80/2900 | 2/15 | 23/264 | 第五次java实验 |