学习笔记-马士兵java - 网络编程

1. 网络基础

  a. 计算机网络:把分布在不同地理区域的计算机与专门的外部设备用通信线路互联成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地相互传递信息,共享硬件、软件、数据信息等资源。

  b. 主要功能:

    ① 资源共享

    ② 信息传输与集中处理

    ③ 均衡符合与分布处理

    ④ 综合信息服务(www/综合业务数字网络 ISDN)

  c. 网络通信协议:计算机网络中实现通信必须有一些约定即通信协议,对速率、传输代码、代码结构、传输控制步骤、出错控制等制定标准。

  d. 网络通信接口:为了使两个结点之间能进行对话,必须在它们之间建立通信工具(即接口),使彼此之间能进行信息交换。接口包括两部分:

    ① 硬件装置(网卡):实现结点之间的信息传送。

    ② 软件装置:规定双方进行通信的约定协议。

  e. 分层:由于结点之间联系复杂,在定制协议时,把复杂成分分解成一些简单的成分,再将它们复合起来。最常用的复合方式是层次方式,即同层间可以通信、上一层可以调用下一层,而与再下一层不发生关系。各层互不影响,利于系统的开发和扩展。

  f. 通信协议的分层规定:把用户应用程序作为最高层,把物理通信线路作为最低层,将其间的协议处理分为若干层,规定每层处理的任务,也规定每层的接口标准。

  g. 分层标准:

网络分层

2. TCP/IP协议

  a. IP(Internet Protocol) 协议:是网际层的主要协议,支持网间互联的数据报通信。主要功能:

    ① 无线数据报传送。

    ② 数据报路由选择和差错控制。

  b. TCP(Transmission Control Protocol) 协议:是专门设计用于在不可靠的因特网上提供可靠地、端到端的字节流通信的协议。它是一种面向连接的协议。TCP连接时字节流而非报文流。

  c. UDP (User Data Protocol)协议:UDP向应用程序提供了一种发送封装的原始IP数据报的方法、并且发送时无需简历连接。是一种不可靠的连接。

  d. TCP:可靠,慢; UDP:不可靠,快。

3. IP地址(网络段+主机段)

4. Socket通信

  a. 两个JAVA应用程序可以通过一个双向的网络通信连接实现数据交换,这个双向链路的一端称为一个Socket。

  b. Socket 通常用来实现 client - server 连接。

  c. java.net 包中定义的两个 Socket 和 ServerSocket,分别用来实现双向连接的 client 和server 端。

  d. 简历连接时所需的寻址信息为远程计算机的 IP地址端口号(Port number)。

  e. 端口号(两字节,65536个端口):1024以下为系统征用。例如:80 网络端口;21 FTP协议端口;25 (SMTP简单邮件发送协议)发邮件端口;110 收邮件端口。

    ① TCP端口 与 UDP端口 不同。

    ② 每一个(TCP、UDP)都有65536个端口。

   TCP / UDP

5. 先写 Server 在写 Client;先启 Server,再启 Client。

6. Socket 通信模型:

 

7.

8.

9.

posted @ 2013-10-30 21:45  被盗的小偷  阅读(287)  评论(0)    收藏  举报