十、网络编程(TCP/IP、Socket编程、C/S)

1. 网络基础概念
什么是计算机网络:
把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大、功能强的网络系统,从而使众多的计算机可以方便地互相传递信息,共享硬件、软件、数据信息等资源。
计算机网络的主要功能
资源共享
信息传输与集中处理
均衡负荷与分布处理
综合信息服务 (www/综合业务数字网络 ISDN)
2. 网络通信协议及接口
什么是网络通信协议
计算机网络中实现通信必须有一些约定即通信协议,对速率、传输代码、代码结构、传 输控制步骤、出错控制等制定标准。

网络通信接口
为了使两个结点之间能进行对话,必须在它们之间建立通信工具(即接口),使彼此之间 能进行信息交换。接口包括两部分:
硬件装置: 实现结点之间的信息传送
软件装置: 规定双方进行通信的约定协议
3.通信协议分层的思想
为什么要分层
由于结点之间联系很复杂,在制定协议时,把复杂成份分解成 一些简单的成份,再将它们复合起来。最常用的复合方式是层次方式,即同层间可以通信、上一层可以调用下一层,而与再下一层不发生关系。
通信协议的分层规定
把用户应用程序作为最高 层,把物理通信线路作为最低层,将其间的协议处理分为若干层,规定每层处理的任务,也规定每层的接口标准。
4. 开放系统互连参考模型

[img]http://dl.iteye.com/upload/attachment/225657/c595578d-0bf8-36c0-8211-44528833efc0.gif[/img]
5.各个层次的协议
1、物理层(Physical Layer)
2、数据链路层(Data Link Layer)
3、网络层(Network Layer)网络层协议的代表包括:IP、IPX、RIP、OSPF等
4、传输层(Transport Layer)传输层协议的代表包括:TCP、UDP、SPX等。
5、会话层(Session Layer)NetBIOS、ZIP(AppleTalk区域信息协议)等。
6、表示层(Presentation Layer) ASCII、ASN.1、JPEG、MPEG等。
7、应用层(Application Layer) Telnet、FTP、HTTP、SNMP等。

[img]http://dl.iteye.com/upload/attachment/225659/e7f15a55-7b16-3c2e-b493-a51bb04a2873.gif[/img]
6. TCP/IP参考模型的层次结构

[img]http://dl.iteye.com/upload/attachment/225661/94ed10aa-290d-3844-a323-b09bdcdc026d.gif[/img]
7. 数据封装&数据拆封

[img]http://dl.iteye.com/upload/attachment/225663/07cbb7bb-d9b0-3791-b9bb-9dbfb4d00198.gif[/img]

[img]http://dl.iteye.com/upload/attachment/225665/865c61db-1fd0-3066-8752-f4ffb84f74f4.gif[/img]
8. IP协议
IP (Internet Protocol)协议是网际层的主要协议,支持网间互连的数据报通信。它提供主要功能有:
无连接数据报传送
数据报路由选择和差错控制
7. TCP协议和UDP协议
TCP协议是一个面向连接的、可靠的协议
TCP(transmission control protocol)
是专门设计用于在不可靠的因特网上提供可靠的、端到端的字节流通信的协议。它是一种面向连接的协议。TCP连接是字节流而非报文流。

UDP协议是一个不可靠的、无连接协议
UDP(user datagram protocol )
UDP向应用程序提供了一种发送封装的原始IP数据报的方法、并且发送时无需建立连接。是一种不可靠的连接

8. Socket
两个Java应用程序可通过一个双向的网络通信连接实现数据交换,这个双向链路的一端称为一个Socket。
Socket通常用来实现client-server连接。
java.net包中定义的两个类Socket和ServerSocket,分别用来实现双向连接的client和server端
建立连接时所需的寻址信息为远程计算机的IP地址和端口号(Port number)
9. 总结
TCP 可靠但慢 UDP 不可靠但快
TCP程序的编写
 Server (New serversocket->Accept->Get input/output ->Close
 Client (New Socket -> Get input/output -> Close)
 Exception (BindException)
UDP程序的编写
 Sender (New datagramsocket->Prepare the buf->New packet ->Send)
 Receiver(New datagram socket->New buf->New packet->Receive->Deal)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值