关闭

黑马程序员-网络编程

160人阅读 评论(0) 收藏 举报

---------------------- android培训java培训、期待与您交流! -------------------------------


网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯。网络编程中有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。而TCP层则提供面向应用的可靠的或非可靠的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的

TCPTransfer Control Protocol的简称,是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个顺序的无差错的数据流。发送方和接收方的成对的两个socket之间必须建立连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是server socket)等待建立连接时,另一个socket可以要求进行连接,一旦这两个socket连接起来,它们就可以进行双向数据传输,双方都可以进行发送或接收操的。

TCP是一个基于连接的协议,它能够提供两台计算机之间的可靠的数据流 . HTTPFTPTelnet等应用都需要这种可靠的通信通道。

UDPUser Datagram Protocol的简称,是一种无连接的协议,每个数据报都是一个独立的信息,包括完整的源地址或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的。

UDP是从一台计算机向另一台计算机发送称为数据报的独立数据包的协议,该协议并不保证数据报是否能正确地到达目的地。它是一个非面向连接的协议。

这两种协议做简单比较 

–使用UDP时,每个数据报中都给出了完整的地址信息,因此无需要建立发送方和接收的连接。 

–对于TCP协议,由于它是一个面向连接的协议,在socket之间进行数据传输之前必然要建立连接,所以在TCP中多了一个连接建立的时间 。

–使用UDP传输数据时是有大小限制的,每个被传输的数据报必须限定在64KB之内。 

TCP没有这方面的限制,一旦连接建立起来,双方的socket就可以按统一的格式传输大量的数据。 

UDP是一个不可靠的协议,发送方所发送的数据报并不一定以相同的次序到达接收方。 

TCP是一个可靠的协议,它确保接收方完全正确地获取发送方所发送的全部数据。

TCP在网络通信上有极强的生命力,例如远程连接(Telnet)和文件传输(FTP)都需要不定长度的数据被可靠地传输。 相比之下UDP操作简单,而且仅需要较少的监护,因此通常用于局域网高可靠性的分散系统中client/server应用程序。

Jdk中的类:

通过java.net包中的类,java程序能够使用TCPUDP协议在互联网上进行通讯 

Java 通过扩展已有的流式输入/输出接口和增加在网络上建立输入/输出对象特性这两个方法支持TCP/IP。 

Java支持TCPUDP协议族。TCP用于网络的可靠的流式输入/输出。UDP支持更简单的、快速的、点对点的数据报模式。

使用ServerSocketSocket实现服务器端和客户端的 Socket通信流程: 

1) 建立Socket连接 

2)  获得输入/输出流 

3)读/写数据 

4) 关闭输入/输出流 

5) 关闭Socket 


------------- android培训java培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net/heima

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:8042次
    • 积分:226
    • 等级:
    • 排名:千里之外
    • 原创:17篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档