计算机网络
1、计算机网络:把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息,共享硬件、软件、数据信息等资源2、计算机网络的主要功能:资源共享、信息传输与集中处理、均衡负荷与分布处理、综合信息服务(www/综合业务数字网络 ISDN)
3、网络通信协议:计算机网络中实现通信必须有一些约定即通信协议,对速率、传输代码、代码结构、传输控制步骤、出错控制等制定标准
4、网络通信接口:为了使两个节点之间能进行对话,必须使它们之间建立通信工具(即接口),使彼此之间能进行信息交换。接口包括:硬件装置——实现节点之间的信息传输、软件装置——规定双方进行通信的约定协议
5、分层:由于节点之间联系很复杂。在制定协议时,把复杂成分分解成一些简单的成分,再将它们复合起来。最常见的复合方式是层次方式,即同层间可以通信、上一层可以调用下一层,而与下一层不发生关系。各层互不影响,利于系统的开发和扩展。
6、通信协议的分层规定:把用户应用程序作为最高层,把物理通信线路作为最底层,将期间的协议处理分为若干层,规定每层处理的任务,也规定每层的接口标准
7、IP(Internet Protocol)协议:是网际层的主要协议,支持网间互联的数据报通信。它提供的主要功能有:无连接数据报传送、数据报路由选择和差错控制
8、TCP:是专门设计用于在不可靠的英特网上提供可靠的、端到端的字节流通信的协议,它是一个面向连接的协议,TCP连接是字节流而非报文流
9、UDP:向应用程序提供了一种发送封装的原始IP数据报的方法、并且发送时无需建立连接,是一种不可靠的连接,效率高;数据报/非连接
10、Socket:两个Java应用程序可通过一个双向的网络通信连接实现数据交换,这个双向链路的一端称为一个Socket、Socket通常用来实现client—server连接、java.net包中定义的两个Socket和ServerSocket,分别用来实现双向连接的client和server端、建立连接时所需的寻址信息为远程计算机的IP地址和端口号(Port number)——TCP端口 UDP端口分开,每一个65536个端口
/*范例名称:简单的client/server程序 * 源文件名称:TestClient.java/TestServer.java *要点: *1. Java Socket编程步骤 *2. Socket/ServerSocket类用法 *3. 通过Socket对象可以获取通信对方Socket的信息 */import java.net.*;import java.io.*;public class TestClient {public static void main(String args[]) {try {Socket s1 = new Socket("127.0.0.1", 8888);InputStream is = s1.getInputStream();DataInputStream dis = new DataInputStream(is);System.out.println(dis.readUTF());dis.close();s1.close();} catch (ConnectException connExc) {connExc.printStackTrace();System.err.println("服务器连接失败!");} catch (IOException e) {e.printStackTrace();}}}
/*范例名称:简单的client/server程序 * 源文件名称:TestClient.java/TestServer.java *要点: *1. Java Socket编程步骤 *2. Socket/ServerSocket类用法 *3. 通过Socket对象可以获取通信对方Socket的信息 */import java.net.*;import java.io.*;public class TestServer {public static void main(String args[]) {try {ServerSocket s = new ServerSocket(8888);while (true) {Socket s1 = s.accept();OutputStream os = s1.getOutputStream();DataOutputStream dos = new DataOutputStream(os);dos.writeUTF("Hello," + s1.getInetAddress() + "port#" +s1.getPort() + "bye-bye!");//发送IP和端口dos.close();s1.close();}}catch (IOException e) {e.printStackTrace();System.out.println("程序运行出错:" + e);}}}
页:
[1]